aboutsummaryrefslogtreecommitdiffstats
path: root/refs/files-backend.c
AgeCommit message (Expand)AuthorFilesLines
10 daysMerge branch 'kn/maintenance-is-needed'Junio C Hamano1-0/+11
12 daysMerge branch 'kn/refs-optim-cleanup'Junio C Hamano1-16/+6
12 daysMerge branch 'ps/ref-peeled-tags'Junio C Hamano1-48/+23
2025-11-10refs: add a `optimize_required` field to `struct ref_storage_be`Karthik Nayak1-0/+11
2025-11-06Merge branch 'pk/reflog-migrate-message-fix'Junio C Hamano1-1/+1
2025-11-05refs: add missing space in messagesPeter Krefting1-1/+1
2025-11-04Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-neededJunio C Hamano1-16/+6
2025-11-04Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-neededJunio C Hamano1-48/+23
2025-11-04refs: rename 'pack_refs_opts' to 'refs_optimize_opts'Karthik Nayak1-5/+5
2025-11-04refs: move to using the '.optimize' functionsKarthik Nayak1-12/+2
2025-11-04refs: drop infrastructure to peel via iteratorsPatrick Steinhardt1-17/+0
2025-11-04refs: introduce `.ref` field for the base iteratorPatrick Steinhardt1-26/+21
2025-11-04refs: introduce wrapper struct for `each_ref_fn`Patrick Steinhardt1-5/+2
2025-10-30Merge branch 'ps/symlink-symref-deprecation'Junio C Hamano1-2/+17
2025-10-26Merge branch 'js/unreachable-workaround-for-no-symlink-head' into maint-2.51Junio C Hamano1-1/+7
2025-10-20Merge branch 'js/unreachable-workaround-for-no-symlink-head'Junio C Hamano1-1/+7
2025-10-15Merge branch 'kn/refs-files-case-insensitive' into maint-2.51Junio C Hamano1-12/+66
2025-10-15Merge branch 'ps/reflog-migrate-fixes' into maint-2.51Junio C Hamano1-7/+58
2025-10-15refs/files: deprecate writing symrefs as symbolic linksPatrick Steinhardt1-2/+17
2025-10-13Merge branch 'kn/reftable-consistency-checks'Junio C Hamano1-3/+0
2025-10-09refs: forbid clang to complain about unreachable codeJohannes Schindelin1-1/+7
2025-10-07refs: move consistency check msg to generic layerKarthik Nayak1-2/+0
2025-10-07refs: remove unused headersKarthik Nayak1-1/+0
2025-10-02Merge branch 'ms/refs-optimize'Junio C Hamano1-0/+10
2025-09-29Merge branch 'kn/refs-files-case-insensitive'Junio C Hamano1-12/+66
2025-09-19files-backend: implement 'optimize' actionMeet Soni1-0/+10
2025-09-17refs/files: handle D/F conflicts during lockingKarthik Nayak1-5/+6
2025-09-17refs/files: handle F/D conflicts in case-insensitive FSKarthik Nayak1-2/+17
2025-09-17refs/files: use correct error type when lock existsKarthik Nayak1-3/+18
2025-09-17refs/files: catch conflicts on case-insensitive file-systemsKarthik Nayak1-5/+28
2025-08-29Merge branch 'jk/no-clobber-dangling-symref-with-fetch'Junio C Hamano1-4/+30
2025-08-21Merge branch 'ps/remote-rename-fix'Junio C Hamano1-6/+9
2025-08-21Merge branch 'ps/reflog-migrate-fixes'Junio C Hamano1-7/+58
2025-08-19refs: do not clobber dangling symrefsJeff King1-4/+30
2025-08-06refs: pass refname when invoking reflog entry callbackPatrick Steinhardt1-6/+9
2025-08-06Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fixJunio C Hamano1-7/+58
2025-08-06refs: fix invalid old object IDs when migrating reflogsPatrick Steinhardt1-1/+15
2025-08-06refs: stop unsetting REF_HAVE_OLD for log-only updatesPatrick Steinhardt1-4/+5
2025-08-06refs/files: detect race when generating reflog entry for HEADPatrick Steinhardt1-2/+38
2025-08-03Merge branch 'kn/for-each-ref-skip'Junio C Hamano1-3/+4
2025-07-16Merge branch 'ps/refs-files-remove-empty-parent'Junio C Hamano1-0/+2
2025-07-15refs: selectively set prefix in the seek functionsKarthik Nayak1-3/+4
2025-07-08Merge branch 'kn/fetch-push-bulk-ref-update'Junio C Hamano1-0/+7
2025-07-08refs/files: remove empty parent dirs when ref creation failsPatrick Steinhardt1-0/+2
2025-06-25refs/files: skip updates with errors in batched updatesKarthik Nayak1-0/+7
2025-06-03Merge branch 'sj/ref-contents-check-fix'Junio C Hamano1-0/+3
2025-06-02fsck: ignore missing "refs" directory for linked worktreesshejialuo1-0/+3
2025-04-24Merge branch 'ps/object-file-cleanup'Junio C Hamano1-2/+2
2025-04-16Merge branch 'kn/non-transactional-batch-updates'Junio C Hamano1-176/+138
2025-04-15Merge branch 'ps/object-wo-the-repository'Junio C Hamano1-1/+1
2025-04-15object-file: move `safe_create_leading_directories()` into "path.c"Patrick Steinhardt1-2/+2
2025-04-08Merge branch 'ps/object-wo-the-repository' into ps/object-file-cleanupJunio C Hamano1-1/+1
2025-04-08refs: support rejection in batch updates during F/D checksKarthik Nayak1-9/+18
2025-04-08refs: implement batch reference update supportKarthik Nayak1-1/+11
2025-04-08refs: introduce enum-based transaction error typesKarthik Nayak1-100/+102
2025-04-08refs/files: remove duplicate duplicates checkKarthik Nayak1-6/+0
2025-04-08refs: move duplicate refname update check to generic layerKarthik Nayak1-53/+14
2025-04-08refs/files: remove redundant check in split_symref_update()Karthik Nayak1-17/+3
2025-03-29Merge branch 'ps/refname-avail-check-optim'Junio C Hamano1-44/+73
2025-03-12refs/iterator: implement seeking for files iteratorsPatrick Steinhardt1-0/+16
2025-03-12refs/iterator: separate lifecycle from iterationPatrick Steinhardt1-26/+10
2025-03-12refs/files: batch refname availability checks for initial transactionsPatrick Steinhardt1-7/+16
2025-03-12refs/files: batch refname availability checks for normal transactionsPatrick Steinhardt1-11/+31
2025-03-10hash: stop depending on `the_repository` in `null_oid()`Patrick Steinhardt1-1/+1
2025-02-28path: adjust last remaining users of `the_repository`Patrick Steinhardt1-5/+5
2025-01-29Merge branch 'kn/reflog-symref-fix'Junio C Hamano1-3/+0
2025-01-23refs: fix creation of reflog entries for symrefsKarthik Nayak1-3/+0
2024-12-23Merge branch 'kn/reflog-migration'Junio C Hamano1-45/+86
2024-12-23Merge branch 'ps/build-sign-compare'Junio C Hamano1-0/+1
2024-12-19Merge branch 'bf/set-head-symref'Junio C Hamano1-12/+19
2024-12-16refs: allow multiple reflog entries for the same refnameKarthik Nayak1-4/+11
2024-12-16refs: introduce the `ref_transaction_update_reflog` functionKarthik Nayak1-8/+16
2024-12-16refs: add `committer_info` to `ref_transaction_add_update()`Karthik Nayak1-6/+8
2024-12-16refs/files: add count field to ref_lockKarthik Nayak1-19/+39
2024-12-16refs: include committer info in `ref_update` structKarthik Nayak1-10/+14
2024-12-06global: mark code units that generate warnings with `-Wsign-compare`Patrick Steinhardt1-0/+1
2024-12-04Merge branch 'sj/ref-contents-check'Junio C Hamano1-16/+178
2024-11-25refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy1-8/+16
2024-11-25refs: standardize output of refs_read_symbolic_refBence Ferdinandy1-4/+3
2024-11-21ref: add symlink ref content check for files backendshejialuo1-4/+34
2024-11-21ref: check whether the target of the symref is a refshejialuo1-2/+12
2024-11-21ref: add basic symref content check for files backendshejialuo1-0/+40
2024-11-21ref: add more strict checks for regular refsshejialuo1-3/+23
2024-11-21ref: port git-fsck(1) regular refs check for files backendshejialuo1-0/+47
2024-11-21ref: support multiple worktrees check for refsshejialuo1-5/+12
2024-11-21ref: initialize ref name outside of check functionsshejialuo1-8/+13
2024-11-21ref: check the full refname instead of basenameshejialuo1-2/+5
2024-11-21ref: initialize "fsck_ref_report" with zeroshejialuo1-1/+1
2024-11-21refs: skip collision checks in initial transactionsPatrick Steinhardt1-7/+6
2024-11-21refs/files: support symbolic and root refs in initial transactionPatrick Steinhardt1-10/+34
2024-11-21refs: introduce "initial" transaction flagPatrick Steinhardt1-8/+8
2024-11-21refs/files: move logic to commit initial transactionPatrick Steinhardt1-101/+101
2024-11-21refs: allow passing flags when setting up a transactionPatrick Steinhardt1-4/+7
2024-09-23Merge branch 'ps/environ-wo-the-repository'Junio C Hamano1-12/+20
2024-09-12Merge branch 'ps/pack-refs-auto-heuristics'Junio C Hamano1-0/+65
2024-09-12environment: stop storing "core.preferSymlinkRefs" globallyPatrick Steinhardt1-1/+4
2024-09-12environment: stop storing "core.logAllRefUpdates" globallyPatrick Steinhardt1-1/+3
2024-09-12refs: stop modifying global `log_all_ref_updates` variablePatrick Steinhardt1-11/+12
2024-09-12environment: guard state depending on a repositoryPatrick Steinhardt1-0/+2
2024-09-04refs/files: use heuristic to decide whether to repack with `--auto`Patrick Steinhardt1-0/+65
2024-08-30refs/files-backend: work around -Wunused-parameterJunio C Hamano1-2/+5
2024-08-17refs: drop some unused parameters from create_symref_lock()Jeff King1-5/+3
2024-08-16Merge branch 'sj/ref-fsck'Junio C Hamano1-1/+114
2024-08-15Merge branch 'jc/refs-symref-referent'Junio C Hamano1-4/+13
2024-08-14Merge branch 'ss/packed-ref-store-leakfix'Junio C Hamano1-0/+1
2024-08-09refs: add referent to each_ref_fnJohn Cai1-1/+1
2024-08-09refs: keep track of unresolved reference value in iteratorsJohn Cai1-3/+12
2024-08-08fsck: add ref name check for files backendshejialuo1-0/+31
2024-08-08files-backend: add unified interface for refs scanningshejialuo1-1/+72
2024-08-08refs: set up ref consistency check infrastructureshejialuo1-1/+12
2024-08-05refs/files: prevent memory leak by freeing packed_ref_storeSven Strickroth1-0/+1
2024-07-30refs/files: stop using `the_repository`Patrick Steinhardt1-5/+3
2024-07-30refs/files: stop using `the_repository` in `parse_loose_ref_contents()`Patrick Steinhardt1-9/+12
2024-07-02Merge branch 'ps/use-the-repository'Junio C Hamano1-3/+5
2024-06-20Merge branch 'kn/update-ref-symref'Junio C Hamano1-8/+9
2024-06-17Merge branch 'ps/ref-storage-migration'Junio C Hamano1-14/+110
2024-06-14global: introduce `USE_THE_REPOSITORY_VARIABLE` macroPatrick Steinhardt1-0/+2
2024-06-14hash: require hash algorithm in `oidread()` and `oidclr()`Patrick Steinhardt1-3/+3
2024-06-13Merge branch 'ps/ref-storage-migration' into ps/use-the-repositoryJunio C Hamano1-14/+110
2024-06-07refs: specify error for regular refs with `old_target`Karthik Nayak1-6/+8
2024-06-07refs: create and use `ref_update_expects_existing_old_ref()`Karthik Nayak1-2/+1
2024-06-06refs: implement removal of ref storagesPatrick Steinhardt1-0/+62
2024-06-06refs/files: extract function to iterate through root refsPatrick Steinhardt1-9/+42
2024-06-06refs/files: refactor `add_pseudoref_and_head_entries()`Patrick Steinhardt1-9/+6
2024-06-06refs: allow to skip creation of reflog entriesPatrick Steinhardt1-0/+4
2024-05-30Merge branch 'ps/refs-without-the-repository-updates'Junio C Hamano1-23/+36
2024-05-28Merge branch 'ps/pseudo-ref-terminology'Junio C Hamano1-2/+1
2024-05-23Merge branch 'it/refs-name-conflict'Junio C Hamano1-1/+3
2024-05-23Merge branch 'ps/pseudo-ref-terminology' into ps/ref-storage-migrationJunio C Hamano1-2/+1
2024-05-23Merge branch 'ps/refs-without-the-repository-updates' into ps/ref-storage-mig...Junio C Hamano1-23/+36
2024-05-17refs/files: remove references to `the_hash_algo`Patrick Steinhardt1-2/+2
2024-05-17refs/files: use correct repositoryPatrick Steinhardt1-10/+13
2024-05-17refs: implement releasing ref storagesPatrick Steinhardt1-0/+10
2024-05-17refs: rename `init_db` callback to avoid confusionPatrick Steinhardt1-6/+6
2024-05-17refs: adjust names for `init` and `init_db` callbacksPatrick Steinhardt1-5/+5
2024-05-15refs: classify HEAD as a root refPatrick Steinhardt1-2/+1
2024-05-15refs: do not check ref existence in `is_root_ref()`Patrick Steinhardt1-2/+2
2024-05-15refs: rename `is_pseudoref()` to `is_root_ref()`Patrick Steinhardt1-1/+1
2024-05-07refs: remove `create_symref` and associated dead codeKarthik Nayak1-67/+0
2024-05-07refs: add support for transactional symref updatesKarthik Nayak1-21/+92
2024-05-07refs: move `original_update_refname` to 'refs.c'Karthik Nayak1-16/+5
2024-05-07files-backend: extract out `create_symref_lock()`Karthik Nayak1-14/+37
2024-05-07refs: accept symref values in `ref_transaction_update()`Karthik Nayak1-6/+6
2024-05-06refs: return conflict error when checking packed refsIvan Tse1-1/+3
2024-03-05Merge branch 'kn/for-all-refs'Junio C Hamano1-34/+93
2024-02-23refs: introduce `refs_for_each_include_root_refs()`Karthik Nayak1-5/+60
2024-02-23refs: extract out `loose_fill_ref_dir_regular_file()`Karthik Nayak1-29/+33
2024-02-21refs: stop resolving ref corresponding to reflogsPatrick Steinhardt1-10/+2
2024-02-21refs: drop unused params from the reflog iterator callbackPatrick Steinhardt1-7/+1
2024-02-21refs: always treat iterators as orderedPatrick Steinhardt1-4/+3
2024-02-21refs/files: sort merged worktree and common reflogsPatrick Steinhardt1-28/+2
2024-02-21refs/files: sort reflogs returned by the reflog iteratorPatrick Steinhardt1-2/+2
2024-01-26Merge branch 'ps/worktree-refdb-initialization'Junio C Hamano1-6/+31
2024-01-16Merge branch 'ps/refstorage-extension'Junio C Hamano1-1/+0
2024-01-08Merge branch 'en/header-cleanup'Junio C Hamano1-2/+0
2024-01-08refs/files: skip creation of "refs/{heads,tags}" for worktreesPatrick Steinhardt1-8/+14
2024-01-08setup: move creation of "refs/" into the files backendPatrick Steinhardt1-0/+17
2024-01-08refs: prepare `refs_init_db()` for initializing worktree refsPatrick Steinhardt1-1/+3
2024-01-02refs: refactor logic to look up storage backendsPatrick Steinhardt1-1/+0
2023-12-26treewide: remove unnecessary includes in source filesElijah Newren1-2/+0
2023-11-17refs: remove `delete_refs` callback from backendsPatrick Steinhardt1-7/+0
2023-11-17refs: deduplicate code to delete referencesPatrick Steinhardt1-45/+1
2023-11-17refs/files: use transactions to delete referencesPatrick Steinhardt1-32/+34
2023-10-09files-backend.c: avoid stat in 'loose_fill_ref_dir'Victoria Dye1-9/+5
2023-07-21Merge branch 'tb/refs-exclusion-and-packed-refs'Junio C Hamano1-2/+3
2023-07-10refs: plumb `exclude_patterns` argument throughoutTaylor Blau1-2/+3
2023-06-21repository: remove unnecessary include of path.hElijah Newren1-0/+1
2023-06-21cache.h: remove this no-longer-used headerElijah Newren1-1/+1
2023-06-13Merge branch 'jc/pack-ref-exclude-include'Junio C Hamano1-10/+17
2023-05-12pack-refs: teach pack-refs --include optionJohn Cai1-8/+10
2023-05-12pack-refs: teach --exclude option to exclude refs from being packedJohn Cai1-6/+10
2023-04-24hash-ll.h: split out of hash.h to remove dependency on repository.hElijah Newren1-0/+1
2023-04-24copy.h: move declarations for copy.c functions from cache.hElijah Newren1-0/+1
2023-04-11object-file.h: move declarations for object-file.c functions from cache.hElijah Newren1-0/+1
2023-03-21write-or-die.h: move declarations for write-or-die.c functions from cache.hElijah Newren1-0/+1
2023-03-21setup.h: move declarations for setup.c functions from cache.hElijah Newren1-0/+1
2023-03-21environment.h: move declarations for environment.c functions from cache.hElijah Newren1-0/+1
2023-03-21wrapper.h: move declarations for wrapper.c functions from cache.hElijah Newren1-1/+2
2023-03-21treewide: be explicit about dependence on gettext.hElijah Newren1-0/+1
2023-02-23ident.h: move ident-related declarations out of cache.hElijah Newren1-0/+1
2023-02-23cache.h: remove dependence on hex.h; make other files include it explicitlyElijah Newren1-0/+1
2022-09-19refs: unify parse_worktree_ref() and ref_type()Han-Wen Nienhuys1-44/+36
2022-09-01git-compat-util.h: use "UNUSED", not "UNUSED(var)"Ævar Arnfjörð Bjarmason1-7/+7
2022-08-19refs: mark unused virtual method parametersJeff King1-5/+5
2022-08-19refs: mark unused each_ref_fn parametersJeff King1-1/+3
2022-04-13Revert "Merge branch 'ps/avoid-unnecessary-hook-invocation-with-packed-refs'"Junio C Hamano1-19/+7
2022-03-29Merge branch 'ab/refs-various-fixes'Junio C Hamano1-32/+32
2022-03-25Merge branch 'ps/fsync-refs'Junio C Hamano1-0/+1
2022-03-17refs: use designated initializers for "struct ref_iterator_vtable"Ævar Arnfjörð Bjarmason1-6/+6
2022-03-17refs: use designated initializers for "struct ref_storage_be"Ævar Arnfjörð Bjarmason1-26/+26
2022-03-15core.fsync: new option to harden referencesPatrick Steinhardt1-0/+1
2022-03-01refs/files-backend: optimize reading of symbolic refsPatrick Steinhardt1-6/+28
2022-03-01refs: add ability for backends to special-case reading of symbolic refsPatrick Steinhardt1-0/+1
2022-02-18Merge branch 'ps/avoid-unnecessary-hook-invocation-with-packed-refs'Junio C Hamano1-7/+19
2022-01-26refs API: remove "failure_errno" from refs_resolve_ref_unsafe()Ævar Arnfjörð Bjarmason1-22/+9
2022-01-17refs: skip hooks when deleting uncovered packed refsPatrick Steinhardt1-3/+6
2022-01-17refs: do not execute reference-transaction hook on packing refsPatrick Steinhardt1-2/+4
2022-01-17refs: allow passing flags when beginning transactionsPatrick Steinhardt1-5/+5
2022-01-17refs: extract packed_refs_delete_refs() to allow control of transactionPatrick Steinhardt1-3/+10
2022-01-14Merge branch 'ab/refs-errno-cleanup'Junio C Hamano1-2/+1