aboutsummaryrefslogtreecommitdiffstats
path: root/refs
AgeCommit message (Expand)AuthorFilesLines
11 daysMerge branch 'kn/maintenance-is-needed'Junio C Hamano5-0/+68
13 daysMerge branch 'ps/ref-peeled-tags-fixes'Junio C Hamano2-2/+2
13 daysMerge branch 'kn/refs-optim-cleanup'Junio C Hamano5-38/+18
13 daysMerge branch 'ps/ref-peeled-tags'Junio C Hamano7-239/+83
2025-11-10refs: add a `optimize_required` field to `struct ref_storage_be`Karthik Nayak5-0/+68
2025-11-06Merge branch 'pk/reflog-migrate-message-fix'Junio C Hamano2-2/+2
2025-11-06object: fix performance regression when peeling tagsPatrick Steinhardt2-2/+2
2025-11-06Merge branch 'ps/ref-peeled-tags' into ps/ref-peeled-tags-fixesJunio C Hamano7-239/+83
2025-11-05refs: add missing space in messagesPeter Krefting2-2/+2
2025-11-04Merge branch 'xr/ref-debug-remove-on-disk'Junio C Hamano1-0/+9
2025-11-04Merge branch 'kn/refs-optim-cleanup' into kn/maintenance-is-neededJunio C Hamano5-38/+18
2025-11-04Merge branch 'ps/ref-peeled-tags' into kn/maintenance-is-neededJunio C Hamano7-239/+83
2025-11-04refs: rename 'pack_refs_opts' to 'refs_optimize_opts'Karthik Nayak5-10/+10
2025-11-04refs: move to using the '.optimize' functionsKarthik Nayak5-32/+12
2025-11-04refs: don't store peeled object IDs for invalid tagsPatrick Steinhardt2-2/+3
2025-11-04object: add flag to `peel_object()` to verify object typePatrick Steinhardt2-5/+4
2025-11-04refs: drop infrastructure to peel via iteratorsPatrick Steinhardt7-127/+1
2025-11-04refs: drop `current_ref_iter` hackPatrick Steinhardt2-18/+0
2025-11-04refs: expose peeled object ID via the iteratorPatrick Steinhardt2-0/+6
2025-11-04refs: fully reset `struct ref_iterator::ref` on iterationPatrick Steinhardt3-1/+4
2025-11-04refs: introduce `.ref` field for the base iteratorPatrick Steinhardt7-96/+71
2025-11-04refs: introduce wrapper struct for `each_ref_fn`Patrick Steinhardt2-6/+10
2025-10-30Merge branch 'ps/symlink-symref-deprecation'Junio C Hamano1-2/+17
2025-10-27refs: add missing remove_on_disk implementation for debug backendXinyu Ruan1-0/+9
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 Hamano3-17/+77
2025-10-15refs/files: deprecate writing symrefs as symbolic linksPatrick Steinhardt1-2/+17
2025-10-13Merge branch 'kn/reftable-consistency-checks'Junio C Hamano3-10/+52
2025-10-09refs: forbid clang to complain about unreachable codeJohannes Schindelin1-1/+7
2025-10-08Merge branch 'kn/ref-cache-seek-fix'Junio C Hamano1-1/+1
2025-10-07refs/reftable: add fsck check for checking the table nameKarthik Nayak1-5/+52
2025-10-07refs: move consistency check msg to generic layerKarthik Nayak1-2/+0
2025-10-07refs: remove unused headersKarthik Nayak3-3/+0
2025-10-02Merge branch 'ms/refs-optimize'Junio C Hamano3-0/+20
2025-10-01refs/ref-cache: fix SEGFAULT when seeking in empty directoriesKarthik Nayak1-1/+1
2025-09-29Merge branch 'kn/refs-files-case-insensitive'Junio C Hamano1-12/+66
2025-09-19reftable-backend: implement 'optimize' actionMeet Soni1-0/+7
2025-09-19files-backend: implement 'optimize' actionMeet Soni1-0/+10
2025-09-19refs: add a generic 'optimize' APIMeet Soni1-0/+3
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 Hamano2-7/+57
2025-08-29Merge branch 'ps/reftable-libgit2-cleanup'Junio C Hamano1-11/+12
2025-08-21Merge branch 'ps/remote-rename-fix'Junio C Hamano3-9/+13
2025-08-21Merge branch 'ps/reflog-migrate-fixes'Junio C Hamano3-17/+77
2025-08-19refs: do not clobber dangling symrefsJeff King2-7/+57
2025-08-12refs/reftable: always reload stacks when creating lockPatrick Steinhardt1-11/+12
2025-08-12reftable/stack: allow passing flags to `reftable_stack_add()`Patrick Steinhardt1-4/+4
2025-08-06refs: pass refname when invoking reflog entry callbackPatrick Steinhardt3-9/+13
2025-08-06Merge branch 'ps/reflog-migrate-fixes' into ps/remote-rename-fixJunio C Hamano3-17/+77
2025-08-06refs: fix invalid old object IDs when migrating reflogsPatrick Steinhardt2-1/+29
2025-08-06refs: stop unsetting REF_HAVE_OLD for log-only updatesPatrick Steinhardt3-14/+10
2025-08-06refs/files: detect race when generating reflog entry for HEADPatrick Steinhardt1-2/+38
2025-08-04Merge branch 'ps/config-wo-the-repository'Junio C Hamano2-2/+2
2025-08-04Merge branch 'kn/for-each-ref-skip-updates'Junio C Hamano1-2/+3
2025-08-03Merge branch 'kn/for-each-ref-skip'Junio C Hamano8-202/+135
2025-07-28ref-cache: use 'size_t' instead of int for lengthKarthik Nayak1-2/+3
2025-07-24ref-cache: set prefix_state when seekingKarthik Nayak1-0/+1
2025-07-23config: drop `git_config_get_int()` wrapperPatrick Steinhardt1-1/+1
2025-07-23config: drop `git_config()` wrapperPatrick Steinhardt1-1/+1
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 Nayak7-38/+132
2025-07-15ref-cache: remove unused function 'find_ref_entry()'Karthik Nayak2-21/+0
2025-07-15refs: expose `ref_iterator` via 'refs.h'Karthik Nayak1-143/+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-05-14packed-backend: mmap large "packed-refs" file during fsckshejialuo1-12/+7
2025-05-14packed-backend: extract snapshot allocation in `load_contents`shejialuo1-22/+31
2025-05-14packed-backend: fsck should warn when "packed-refs" file is emptyshejialuo1-0/+9
2025-04-24Merge branch 'ps/object-file-cleanup'Junio C Hamano1-2/+2
2025-04-17Merge branch 'ps/refname-avail-check-optim'Junio C Hamano1-2/+2
2025-04-16Merge branch 'kn/non-transactional-batch-updates'Junio C Hamano4-463/+473
2025-04-15Merge branch 'ps/object-wo-the-repository'Junio C Hamano2-2/+2
2025-04-15object-file: move `safe_create_leading_directories()` into "path.c"Patrick Steinhardt1-2/+2
2025-04-09refs/packed: fix BUG when seeking refs with UTF-8 charactersPatrick Steinhardt1-2/+2
2025-04-08Merge branch 'ps/object-wo-the-repository' into ps/object-file-cleanupJunio C Hamano2-2/+2
2025-04-08refs: support rejection in batch updates during F/D checksKarthik Nayak3-12/+42
2025-04-08refs: implement batch reference update supportKarthik Nayak4-4/+73
2025-04-08refs: introduce enum-based transaction error typesKarthik Nayak4-143/+151
2025-04-08refs/reftable: extract code from the transaction preparationKarthik Nayak1-226/+237
2025-04-08refs/files: remove duplicate duplicates checkKarthik Nayak2-14/+0
2025-04-08refs: move duplicate refname update check to generic layerKarthik Nayak4-114/+34
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 Hamano7-245/+359
2025-03-26Merge branch 'sj/ref-consistency-checks-more'Junio C Hamano1-12/+351
2025-03-12refs/iterator: implement seeking for files iteratorsPatrick Steinhardt1-0/+16
2025-03-12refs/iterator: implement seeking for packed-ref iteratorsPatrick Steinhardt1-22/+43
2025-03-12refs/iterator: implement seeking for ref-cache iteratorsPatrick Steinhardt1-28/+51
2025-03-12refs/iterator: implement seeking for reftable iteratorsPatrick Steinhardt1-5/+30
2025-03-12refs/iterator: implement seeking for merged iteratorsPatrick Steinhardt1-9/+29
2025-03-12refs/iterator: provide infrastructure to re-seek iteratorsPatrick Steinhardt3-0/+59
2025-03-12refs/iterator: separate lifecycle from iterationPatrick Steinhardt7-163/+81
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-12refs/reftable: batch refname availability checksPatrick Steinhardt1-6/+9
2025-03-10hash: stop depending on `the_repository` in `null_oid()`Patrick Steinhardt2-2/+2
2025-03-05Merge branch 'ps/path-sans-the-repository'Junio C Hamano2-10/+10
2025-02-28path: adjust last remaining users of `the_repository`Patrick Steinhardt2-10/+10
2025-02-27packed-backend: check whether the "packed-refs" is sortedshejialuo1-16/+100
2025-02-27packed-backend: add "packed-refs" entry consistency checkshejialuo1-1/+121
2025-02-27packed-backend: check whether the refname contains NUL charactersshejialuo1-0/+18
2025-02-27packed-backend: add "packed-refs" header consistency checkshejialuo1-0/+73
2025-02-27packed-backend: check if header starts with "# pack-refs with: "shejialuo1-1/+1
2025-02-27packed-backend: check whether the "packed-refs" is regular fileshejialuo1-4/+48
2025-02-14Merge branch 'kn/reflog-migration-fix-followup'Junio C Hamano2-8/+18
2025-02-03Merge branch 'kn/reflog-migration-fix-fix'Junio C Hamano2-10/+11
2025-01-29Merge branch 'kn/reflog-symref-fix'Junio C Hamano1-3/+0
2025-01-27refs/reftable: fix uninitialized memory access of `max_index`Karthik Nayak1-3/+3
2025-01-23refs: fix creation of reflog entries for symrefsKarthik Nayak1-3/+0
2025-01-22reftable: prevent 'update_index' changes after adding recordsKarthik Nayak1-5/+15
2025-01-22refs: use 'uint64_t' for 'ref_update.index'Karthik Nayak2-3/+3
2025-01-17Merge branch 'kn/reflog-migration-fix' into kn/reflog-migration-fix-followupJunio C Hamano2-10/+11
2025-01-15reftable: write correct max_update_index to headerKarthik Nayak2-10/+11
2024-12-23Merge branch 'kn/reflog-migration'Junio C Hamano3-53/+140
2024-12-23Merge branch 'ps/build-sign-compare'Junio C Hamano4-2/+5
2024-12-19Merge branch 'bf/set-head-symref'Junio C Hamano3-15/+33
2024-12-16refs: allow multiple reflog entries for the same refnameKarthik Nayak2-7/+30
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 Nayak3-8/+13
2024-12-16refs/files: add count field to ref_lockKarthik Nayak1-19/+39
2024-12-16refs: add `index` field to `struct ref_udpate`Karthik Nayak2-2/+18
2024-12-16refs: include committer info in `ref_update` structKarthik Nayak3-11/+26
2024-12-10Merge branch 'ps/reftable-iterator-reuse'Junio C Hamano1-148/+261
2024-12-10Merge branch 'ps/reftable-detach'Junio C Hamano1-1/+18
2024-12-06global: trivial conversions to fix `-Wsign-compare` warningsPatrick Steinhardt1-4/+1
2024-12-06global: mark code units that generate warnings with `-Wsign-compare`Patrick Steinhardt4-0/+6
2024-12-06Merge branch 'sj/refs-symref-referent-fix'Junio C Hamano1-1/+2
2024-12-04Merge branch 'sj/ref-contents-check'Junio C Hamano5-22/+193
2024-11-27ref-cache: fix invalid free operation in `free_ref_entry`shejialuo1-1/+2
2024-11-26refs/reftable: reuse iterators when reading refsPatrick Steinhardt1-3/+29
2024-11-26refs/reftable: refactor reflog expiry to use reftable backendPatrick Steinhardt1-8/+5
2024-11-26refs/reftable: refactor reading symbolic refs to use reftable backendPatrick Steinhardt1-7/+4
2024-11-26refs/reftable: read references via `struct reftable_backend`Patrick Steinhardt1-63/+59
2024-11-26refs/reftable: figure out hash via `reftable_stack`Patrick Steinhardt1-7/+19
2024-11-26refs/reftable: handle reloading stacks in the reftable backendPatrick Steinhardt1-58/+126
2024-11-26refs/reftable: encapsulate reftable stackPatrick Steinhardt1-59/+76
2024-11-25refs: add TRANSACTION_CREATE_EXISTS errorBence Ferdinandy2-10/+20
2024-11-25refs: standardize output of refs_read_symbolic_refBence Ferdinandy3-6/+12
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 refsshejialuo2-4/+24
2024-11-21ref: port git-fsck(1) regular refs check for files backendshejialuo1-0/+47
2024-11-21ref: support multiple worktrees check for refsshejialuo5-10/+26
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 Steinhardt2-9/+10
2024-11-21refs/files: support symbolic and root refs in initial transactionPatrick Steinhardt1-10/+34
2024-11-21refs: introduce "initial" transaction flagPatrick Steinhardt5-38/+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 Steinhardt2-4/+8
2024-11-19Merge branch 'ps/reftable-detach' into ps/reftable-iterator-reuseJunio C Hamano1-1/+18
2024-11-19reftable/stack: stop using `fsync_component()` directlyPatrick Steinhardt1-0/+7
2024-11-19reftable/system: stop depending on "hash.h"Patrick Steinhardt1-1/+11
2024-10-21global: Fix duplicate word typosSven Strickroth1-1/+1
2024-10-10Merge branch 'ps/reftable-alloc-failures'Junio C Hamano1-8/+31
2024-10-02reftable/merged: handle allocation failures in `merged_table_init_iter()`Patrick Steinhardt1-8/+31
2024-09-30Merge branch 'ps/reftable-concurrent-writes'Junio C Hamano1-2/+11
2024-09-25Merge branch 'ps/reftable-exclude'Junio C Hamano1-3/+130
2024-09-24refs/reftable: reload locked stack when preparing transactionPatrick Steinhardt1-1/+2
2024-09-24reftable/stack: allow locking of outdated stacksPatrick Steinhardt1-2/+2
2024-09-24refs/reftable: introduce "reftable.lockTimeout"Patrick Steinhardt1-0/+8
2024-09-23Merge branch 'ps/environ-wo-the-repository'Junio C Hamano2-21/+33
2024-09-16Merge branch 'ps/reftable-exclude' into ps/reftable-alloc-failuresJunio C Hamano1-3/+130
2024-09-16refs/reftable: wire up support for exclude patternsPatrick Steinhardt1-3/+130
2024-09-12Merge branch 'ps/pack-refs-auto-heuristics'Junio C Hamano3-0/+90
2024-09-12environment: stop storing "core.preferSymlinkRefs" globallyPatrick Steinhardt1-1/+4
2024-09-12environment: stop storing "core.logAllRefUpdates" globallyPatrick Steinhardt2-6/+10
2024-09-12refs: stop modifying global `log_all_ref_updates` variablePatrick Steinhardt2-16/+19
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 Steinhardt3-0/+90
2024-08-30refs/files-backend: work around -Wunused-parameterJunio C Hamano1-2/+5
2024-08-26Merge branch 'jk/mark-unused-parameters'Junio C Hamano2-11/+11
2024-08-26Merge branch 'jk/drop-unused-parameters'Junio C Hamano1-5/+3
2024-08-23Merge branch 'ps/config-wo-the-repository'Junio C Hamano2-0/+4
2024-08-17reftable: mark unused parameters in virtual functionsJeff King1-7/+7
2024-08-17refs: mark unused parameters in ref_store fsck callbacksJeff King2-4/+4
2024-08-17refs: drop some unused parameters from create_symref_lock()Jeff King1-5/+3
2024-08-16Merge branch 'sj/ref-fsck'Junio C Hamano5-1/+147
2024-08-15Merge branch 'jc/refs-symref-referent'Junio C Hamano6-7/+31
2024-08-14Merge branch 'ss/packed-ref-store-leakfix'Junio C Hamano1-0/+1
2024-08-13global: prepare for hiding away repo-less config functionsPatrick Steinhardt2-0/+4
2024-08-09refs: add referent to each_ref_fnJohn Cai2-2/+2
2024-08-09refs: keep track of unresolved reference value in iteratorsJohn Cai6-5/+30
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 infrastructureshejialuo5-1/+45
2024-08-05refs/files: prevent memory leak by freeing packed_ref_storeSven Strickroth1-0/+1
2024-07-30refs/reftable: stop using `the_repository`Patrick Steinhardt1-25/+26
2024-07-30refs/packed: stop using `the_repository`Patrick Steinhardt1-8/+6
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 Steinhardt2-10/+14