aboutsummaryrefslogtreecommitdiffstats
path: root/refs/files-backend.c
AgeCommit message (Expand)AuthorFilesLines
2025-07-16Merge branch 'ps/refs-files-remove-empty-parent'Junio C Hamano1-0/+2
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
2022-01-13refs API: use "failure_errno", not "errno"Ævar Arnfjörð Bjarmason1-2/+1
2022-01-10Merge branch 'ab/reflog-prep'Junio C Hamano1-24/+20
2021-12-22reflog + refs-backend: move "verbose" out of the backendÆvar Arnfjörð Bjarmason1-24/+20
2021-12-22refs files-backend: assume cb->newlog if !EXPIRE_REFLOGS_DRY_RUNÆvar Arnfjörð Bjarmason1-2/+2
2021-12-22refs: centralize initialization of the base ref_store.Han-Wen Nienhuys1-4/+1
2021-12-22refs: pass gitdir to packed_ref_store_createHan-Wen Nienhuys1-3/+2
2021-12-15Merge branch 'hn/allow-bogus-oid-in-ref-tests'Junio C Hamano1-23/+30
2021-12-10Merge branch 'hn/create-reflog-simplify'Junio C Hamano1-3/+2
2021-12-07refs: introduce REF_SKIP_OID_VERIFICATION flagHan-Wen Nienhuys1-21/+29
2021-12-07refs: update comment.Han-Wen Nienhuys1-2/+1
2021-11-29Merge branch 'ab/refs-errno-cleanup'Junio C Hamano1-51/+102
2021-11-22refs: drop force_create argument of create_reflog APIHan-Wen Nienhuys1-3/+2
2021-10-25Merge branch 'jt/no-abuse-alternate-odb-for-submodules'Junio C Hamano1-5/+11
2021-10-16refs API: post-migration API renaming [2/2]Ævar Arnfjörð Bjarmason1-9/+9
2021-10-16refs API: make files_copy_or_rename_ref() et al not set errnoÆvar Arnfjörð Bjarmason1-4/+6
2021-10-16refs API: make loose_fill_ref_dir() not set errnoÆvar Arnfjörð Bjarmason1-2/+3
2021-10-16refs API: remove refs_read_ref_full() wrapperÆvar Arnfjörð Bjarmason1-14/+22
2021-10-16refs/files: remove "name exist?" check in lock_ref_oid_basic()Ævar Arnfjörð Bjarmason1-24/+24
2021-10-16refs API: make refs_rename_ref_available() staticÆvar Arnfjörð Bjarmason1-0/+29
2021-10-16refs API: make parse_loose_ref_contents() not set errnoHan-Wen Nienhuys1-11/+20
2021-10-16refs API: make refs_read_raw_ref() not set errnoHan-Wen Nienhuys1-4/+6
2021-10-11Merge branch 'jk/ref-paranoia'Junio C Hamano1-0/+5
2021-10-08refs: peeling non-the_repository iterators is BUGJonathan Tan1-2/+3
2021-10-08refs: teach arbitrary repo support to iteratorsJonathan Tan1-1/+4
2021-10-08refs: plumb repo into ref storesJonathan Tan1-2/+4
2021-10-06Merge branch 'ab/retire-refs-unused-funcs'Junio C Hamano1-3/+3
2021-10-03Merge branch 'hn/refs-errno-cleanup'Junio C Hamano1-23/+126
2021-10-03Merge branch 'ab/refs-files-cleanup'Junio C Hamano1-97/+35
2021-09-28refs/ref-cache.[ch]: remove "incomplete" from create_dir_entry()Ævar Arnfjörð Bjarmason1-3/+3
2021-09-27refs: add DO_FOR_EACH_OMIT_DANGLING_SYMREFS flagJeff King1-0/+5
2021-09-09refs/files-backend: remove unused open mode parameterRené Scharfe1-1/+1
2021-08-25refs: make errno output explicit for read_raw_ref_fnHan-Wen Nienhuys1-14/+15
2021-08-25refs/files-backend: stop setting errno from lock_ref_oid_basicHan-Wen Nienhuys1-9/+2
2021-08-25refs file backend: move raceproof_create_file() hereÆvar Arnfjörð Bjarmason1-0/+109
2021-08-25refs/files: remove unused "errno != ENOTDIR" conditionÆvar Arnfjörð Bjarmason1-2/+1
2021-08-25refs/files: remove unused "errno == EISDIR" codeÆvar Arnfjörð Bjarmason1-25/+3
2021-08-25refs/files: remove unused "oid" in lock_ref_oid_basic()Ævar Arnfjörð Bjarmason1-56/+14
2021-08-25refs API: remove OID argument to reflog_expire()Ævar Arnfjörð Bjarmason1-2/+1
2021-08-25reflog expire: don't lock reflogs using previously seen OIDÆvar Arnfjörð Bjarmason1-2/+5
2021-08-25refs/files: add a comment about refs_reflog_exists() callÆvar Arnfjörð Bjarmason1-0/+13
2021-08-25refs/files: remove unused "skip" in lock_raw_ref() tooÆvar Arnfjörð Bjarmason1-5/+4