Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
257 commits
Select commit Hold shift + click to select a range
e681b72
test-tool: split up test-tool read-cache
avar Jun 7, 2021
1eb71fb
test-tool: migrate read-cache-perf to parse_options()
avar Jun 7, 2021
32ace34
test-tool: migrate read-cache-again to parse_options()
avar Jun 7, 2021
bbf9e8f
read-cache perf: add a perf test for refresh_index()
avar Jun 7, 2021
7fd3420
upload-pack: run is_repository_shallow() before setup_revisions()
avar Jun 8, 2021
2521047
cache.h: Introduce a generic "xdg_config_home_for(…)" function
L3n41c Jun 12, 2021
9c0d17a
t7400-submodule-basic: modernize inspect() helper
nasamuffin Jun 11, 2021
cb3a2ac
xdiff: implement a zealous diff3, or "zdiff3"
newren Jun 15, 2021
cf9d93e
update documentation for new zdiff3 conflictStyle
newren Jun 15, 2021
9dcf244
introduce submodule.superprojectGitDir cache
nasamuffin Jun 16, 2021
74e46ce
submodule: cache superproject gitdir during absorbgitdirs
nasamuffin Jun 16, 2021
d041338
submodule: cache superproject gitdir during 'update'
nasamuffin Jun 16, 2021
3fa6c57
SQUASH???
gitster Jun 16, 2021
74e3487
maintenance: `git maintenance run` learned `--scheduler=<scheduler>`
L3n41c Jul 2, 2021
54aef5b
maintenance: add support for systemd timers on Linux
L3n41c Jul 2, 2021
8afdce2
submodule: mark submodules with update=none as inactive
bk2204 Jul 1, 2021
5e0fa8c
fetch: fix segfault on --set-upstream while on a detached HEAD
clefru Jul 6, 2021
7e37852
revision.h: refactor "disable_stdin" and "read_from_stdin"
avar Jul 9, 2021
92a3230
revision.[ch]: add a "handle_stdin_line" API
avar Jul 9, 2021
7db42aa
pack-objects.c: do stdin parsing via revision.c's API
avar Jul 9, 2021
bb0a763
pack-objects.c: make use of REV_INFO_STDIN_LINE_PROCESS
avar Jul 9, 2021
4afb5e1
fsck tests: refactor one test to use a sub-repo
avar Jul 10, 2021
94fc8ed
fsck tests: add test for fsck-ing an unknown type
avar Jul 10, 2021
e70fb77
cat-file tests: test for missing object with -t and -s
avar Jul 10, 2021
9194dc1
cat-file tests: test that --allow-unknown-type isn't on by default
avar Jul 10, 2021
5c8b7ba
rev-list tests: test for behavior with invalid object types
avar Jul 10, 2021
46de7a0
cat-file tests: add corrupt loose object test
avar Jul 10, 2021
68d78db
cat-file tests: test for current --allow-unknown-type behavior
avar Jul 10, 2021
91e194f
cache.h: move object functions to object-store.h
avar Jul 10, 2021
a418922
object-file.c: don't set "typep" when returning non-zero
avar Jul 10, 2021
a0ef529
object-file.c: make parse_loose_header_extended() public
avar Jul 10, 2021
9e35d95
object-file.c: add missing braces to loose_object_info()
avar Jul 10, 2021
4d77c12
object-file.c: simplify unpack_loose_short_header()
avar Jul 10, 2021
9d89f44
object-file.c: split up ternary in parse_loose_header()
avar Jul 10, 2021
c8be485
object-file.c: stop dying in parse_loose_header()
avar Jul 10, 2021
b3f0491
object-file.c: guard against future bugs in loose_object_info()
avar Jul 10, 2021
b45bd7a
object-file.c: return -1, not "status" from unpack_loose_header()
avar Jul 10, 2021
211a82a
object-file.c: return -2 on "header too long" in unpack_loose_header()
avar Jul 10, 2021
70241b6
fsck: don't hard die on invalid object types
avar Jul 10, 2021
c2a9c37
object-store.h: move read_loose_object() below 'struct object_info'
avar Jul 10, 2021
87290e0
fsck: report invalid types recorded in objects
avar Jul 10, 2021
27150d0
fsck: report invalid object type-path combinations
avar Jul 10, 2021
f6cd080
diff --color-moved: add perf tests
phillipwood Jul 20, 2021
7a07e3e
diff --color-moved=zebra: fix alternate coloring
phillipwood Jul 20, 2021
bdbb773
diff --color-moved: avoid false short line matches and bad zerba colo…
phillipwood Jul 20, 2021
f52feba
diff: simplify allow-indentation-change delta calculation
phillipwood Jul 20, 2021
8e809cb
diff --color-moved-ws=allow-indentation-change: simplify and optimize
phillipwood Jul 20, 2021
76c2aac
diff --color-moved: call comparison function directly
phillipwood Jul 20, 2021
f9cbfe6
diff --color-moved: unify moved block growth functions
phillipwood Jul 20, 2021
72e4640
diff --color-moved: shrink potential moved blocks as we go
phillipwood Jul 20, 2021
b473dcb
diff --color-moved: stop clearing potential moved blocks
phillipwood Jul 20, 2021
447e589
diff --color-moved-ws=allow-indentation-change: improve hash lookups
phillipwood Jul 20, 2021
a95081c
diff: use designated initializers for emitted_diff_symbol
phillipwood Jul 20, 2021
5458d65
diff --color-moved: intern strings
phillipwood Jul 20, 2021
4a633b2
refs/packet: add missing BUG() invocations to reflog callbacks
avar Jul 20, 2021
2c14b39
test-lib tests: split up "write and run" into two functions
avar Jul 21, 2021
833a626
test-lib tests: stop using a subshell in write_sub_test_lib_test()
avar Jul 21, 2021
57b10b2
test-lib tests: don't provide a description for the sub-tests
avar Jul 21, 2021
5a1fc39
progress.c tests: make start/stop verbs on stdin
avar Jul 22, 2021
e3940c1
progress.c tests: test some invalid usage
avar Jul 22, 2021
06b6d15
progress.c: move signal handler functions lower
avar Jul 22, 2021
7133df1
progress.c: call progress_interval() from progress_test_force_update()
avar Jul 22, 2021
0b5066c
progress.c: stop eagerly fflush(stderr) when not a terminal
avar Jul 22, 2021
95b8726
progress.c: add temporary variable from progress struct
avar Jul 22, 2021
92565d0
pack-bitmap-write.c: add a missing stop_progress()
avar Jul 22, 2021
85996a7
progress.c: add & assert a "global_progress" variable
avar Jul 22, 2021
e6edfe9
pack-bitmap.c: harden 'test_bitmap_walk()' to check type bitmaps
ttaylorr Jul 27, 2021
8abf388
pack-bitmap-write.c: gracefully fail to write non-closed bitmaps
ttaylorr Jul 27, 2021
96a4c82
pack-bitmap-write.c: free existing bitmaps
ttaylorr Jul 27, 2021
a6e6fef
Documentation: describe MIDX-based bitmaps
ttaylorr Jul 27, 2021
e523ab2
midx: clear auxiliary .rev after replacing the MIDX
ttaylorr Jul 27, 2021
85fec42
midx: reject empty `--preferred-pack`'s
ttaylorr Jul 27, 2021
60c38a1
midx: infer preferred pack when not given one
ttaylorr Jul 27, 2021
f714355
midx: close linked MIDXs, avoid leaking memory
ttaylorr Jul 27, 2021
c50613c
midx: avoid opening multiple MIDXs when writing
ttaylorr Jul 27, 2021
8544b76
pack-bitmap.c: introduce 'bitmap_num_objects()'
ttaylorr Jul 27, 2021
e765bea
pack-bitmap.c: introduce 'nth_bitmap_object_oid()'
ttaylorr Jul 27, 2021
0c24be7
pack-bitmap.c: introduce 'bitmap_is_preferred_refname()'
ttaylorr Jul 27, 2021
bfa5c3b
pack-bitmap.c: avoid redundant calls to try_partial_reuse
ttaylorr Jul 27, 2021
df01d79
pack-bitmap: read multi-pack bitmaps
ttaylorr Jul 27, 2021
c287aeb
pack-bitmap: write multi-pack bitmaps
ttaylorr Jul 27, 2021
f359671
t5310: move some tests to lib-bitmap.sh
ttaylorr Jul 27, 2021
9efd417
t/helper/test-read-midx.c: add --checksum mode
ttaylorr Jul 27, 2021
884c7c7
t5326: test multi-pack bitmap behavior
ttaylorr Jul 27, 2021
96b5fb9
t0410: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
peff Jul 27, 2021
491850d
t5310: disable GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP
peff Jul 27, 2021
b301a87
t5319: don't write MIDX bitmaps in t5319
ttaylorr Jul 27, 2021
2b872a8
t7700: update to work with MIDX bitmap test knob
ttaylorr Jul 27, 2021
1786e92
midx: respect 'GIT_TEST_MULTI_PACK_INDEX_WRITE_BITMAP'
ttaylorr Jul 27, 2021
2195bea
p5310: extract full and partial bitmap tests
ttaylorr Jul 27, 2021
2f168e6
p5326: perf tests for MIDX bitmaps
ttaylorr Jul 27, 2021
8dc56c3
ll-merge: teach ll_binary_merge() a trivial three-way merge
gitster Jul 28, 2021
1578215
refs/files: remove unused REF_DELETING in lock_ref_oid_basic()
avar Jul 20, 2021
9e31fdd
refs/files: remove unused "extras/skip" in lock_ref_oid_basic()
avar Jul 20, 2021
d7373ed
refs/files: remove unused "skip" in lock_raw_ref() too
avar Jul 20, 2021
ada77fe
refs/debug: re-indent argument list for "prepare"
avar Jul 20, 2021
ab3bfeb
refs: make repo_dwim_log() accept a NULL oid
avar Jul 26, 2021
74271b9
refs/files: add a comment about refs_reflog_exists() call
avar Jul 26, 2021
b373660
refs file backend: move raceproof_create_file() here
avar Jul 20, 2021
466d936
refs: remove EINVAL errno output from specification of read_raw_ref_fn
hanwen Jul 20, 2021
ffe2bc9
refs/files-backend: stop setting errno from lock_ref_oid_basic
hanwen Jul 20, 2021
8bb2a97
reflog expire: don't lock reflogs using previously seen OID
avar Jul 26, 2021
5794236
refs: make errno output explicit for read_raw_ref_fn
hanwen Jul 20, 2021
066c64a
refs/files: remove unused "oid" in lock_ref_oid_basic()
avar Jul 26, 2021
0dac16d
refs: add failure_errno to refs_read_raw_ref() signature
hanwen Jul 20, 2021
ac7337e
refs/files: remove unused "errno == EISDIR" code
avar Jul 26, 2021
a073125
refs: explicitly return failure_errno from parse_loose_ref_contents
hanwen Jul 20, 2021
af5d6e2
refs/files: remove unused "errno != ENOTDIR" condition
avar Jul 26, 2021
9f6b82e
refs: make errno output explicit for refs_resolve_ref_unsafe
hanwen Jul 20, 2021
326f261
cherry-pick: fix bug when used with GIT_CHERRY_PICK_HELP
adlternative Aug 3, 2021
8621555
cherry-pick: use better advice message
adlternative Aug 3, 2021
c222385
ssh signing: preliminary refactoring and clean-up
FStelzer Aug 3, 2021
3a3fdc0
ssh signing: add test prereqs
FStelzer Aug 3, 2021
c7e2d30
ssh signing: add ssh key format and signing code
FStelzer Aug 3, 2021
5493722
ssh signing: retrieve a default key from ssh-agent
FStelzer Aug 3, 2021
6869f1f
ssh signing: provide a textual signing_key_id
FStelzer Aug 3, 2021
9048bb3
ssh signing: verify signatures using ssh-keygen
FStelzer Aug 3, 2021
5879676
ssh signing: duplicate t7510 tests for commits
FStelzer Aug 3, 2021
52ac6bd
ssh signing: tests for logs, tags & push certs
FStelzer Aug 3, 2021
4ff5911
ssh signing: test that gpg fails for unkown keys
FStelzer Aug 3, 2021
993b69e
Makefile: mark "check" target as .PHONY
avar Aug 3, 2021
b0b9d4f
Makefile: stop hardcoding {command,config}-list.h
avar Aug 3, 2021
cfd9bd2
Makefile: remove an out-of-date comment
avar Aug 3, 2021
4a832f0
hook.[ch]: move find_hook() to this new library
avar Aug 3, 2021
bb74492
hook.c: add a hook_exists() wrapper and use it in bugreport.c
nasamuffin Aug 3, 2021
f1f399d
hook.c users: use "hook_exists()" insted of "find_hook()"
avar Aug 3, 2021
117a741
hook-list.h: add a generated list of hooks, like config-list.h
avar Aug 3, 2021
91ebe8e
hook: add 'run' subcommand
nasamuffin Aug 3, 2021
22f5420
gc: use hook library for pre-auto-gc hook
nasamuffin Aug 3, 2021
aec5e6f
rebase: convert pre-rebase to use hook.h
nasamuffin Aug 3, 2021
406b8fd
am: convert applypatch to use hook.h
nasamuffin Aug 3, 2021
47ed741
hooks: convert 'post-checkout' hook to hook library
nasamuffin Aug 3, 2021
f91d94a
merge: convert post-merge to use hook.h
nasamuffin Aug 3, 2021
2a83a2f
git hook run: add an --ignore-missing flag
avar Aug 3, 2021
7a0bcb5
send-email: use 'git hook run' for 'sendemail-validate'
nasamuffin Aug 3, 2021
c464290
git-p4: use 'git hook' to run hooks
nasamuffin Aug 3, 2021
66d2308
commit: convert {pre-commit,prepare-commit-msg} hook to hook.h
nasamuffin Aug 3, 2021
b33b42e
read-cache: convert post-index-change to use hook.h
nasamuffin Aug 3, 2021
6e9209e
receive-pack: convert push-to-checkout hook to hook.h
nasamuffin Aug 3, 2021
3b819b8
run-command: remove old run_hook_{le,ve}() hook API
nasamuffin Aug 3, 2021
fe4ce60
run-command: allow stdin for run_processes_parallel
nasamuffin Aug 3, 2021
4787177
hook: support passing stdin to hooks
nasamuffin Aug 3, 2021
580bc69
am: convert 'post-rewrite' hook to hook.h
nasamuffin Aug 3, 2021
c623a9a
run-command: add stdin callback for parallelization
nasamuffin Aug 3, 2021
c848767
hook: provide stdin by string_list or callback
nasamuffin Aug 3, 2021
73edbd9
hook: convert 'post-rewrite' hook in sequencer.c to hook.h
nasamuffin Aug 3, 2021
c5f26cb
transport: convert pre-push hook to hook.h
nasamuffin Aug 3, 2021
09dfbb9
hook tests: test for exact "pre-push" hook input
avar Aug 3, 2021
33f69ad
hook tests: use a modern style for "pre-push" tests
avar Aug 3, 2021
2832b22
reference-transaction: use hook.h to run hooks
nasamuffin Aug 3, 2021
2a7f82c
run-command: allow capturing of collated output
nasamuffin Aug 3, 2021
9ca517b
hooks: allow callers to capture output
nasamuffin Aug 3, 2021
6ca3e24
receive-pack: convert 'update' hook to hook.h
nasamuffin Aug 3, 2021
908ed9a
post-update: use hook.h library
nasamuffin Aug 3, 2021
4e5f31b
receive-pack: convert receive hooks to hook.h
nasamuffin Aug 3, 2021
76f440d
hooks: fix a TOCTOU in "did we run a hook?" heuristic
avar Aug 3, 2021
74aafa3
clone: Allow combining --bare and --origin
Osse Aug 2, 2021
4849f5d
test-lib tests: get rid of copy/pasted mock test code
avar Aug 5, 2021
96a4473
test-lib tests: assert no copy/pasted mock test code
avar Aug 5, 2021
e52e72f
test-lib tests: avoid subshell for "test_cmp" for readability
avar Aug 5, 2021
dda14ce
test-lib tests: refactor common part of check_sub_test_lib_test*()
avar Aug 5, 2021
8161050
test-lib tests: assert 1 exit code, not non-zero
avar Aug 5, 2021
45f2aeb
commit-graph: fix bogus counter in "Scanning merged commits" progress…
szeder Aug 5, 2021
2a94393
midx: don't provide a total for QSORT() progress
avar Aug 5, 2021
da660bd
entry: show finer-grained counter in "Filtering content" progress line
szeder Aug 5, 2021
2322902
diff: drop unused options parameter from cmp_in_block_with_wsd()
peff Aug 5, 2021
8a41bad
refs: drop unused "flags" parameter to lock_ref_oid_basic()
peff Aug 6, 2021
d44ac73
blame: add config `blame.ignoreRevsFileIsOptional`
noahp Aug 8, 2021
7a672fe
ci: run a pedantic build as part of the GitHub workflow
carenas Aug 9, 2021
2d12b1d
t5730: introduce fetch command helper
kim Aug 9, 2021
f8121e6
upload-pack.c: treat want-ref relative to namespace
kim Aug 9, 2021
24a6e5b
docs: clarify the interaction of transfer.hideRefs and namespaces
kim Aug 9, 2021
ca5a1f2
Merge branch 'cb/many-alternate-optim-fixup' into jch
gitster Aug 9, 2021
b606d87
Merge branch 'jn/log-m-does-not-imply-p' into jch
gitster Aug 9, 2021
f124f96
Merge branch 'jc/bisect-sans-show-branch' into jch
gitster Aug 9, 2021
776b6e8
Merge branch 'ds/add-with-sparse-index' into jch
gitster Aug 9, 2021
873a557
Merge branch 'ab/http-drop-old-curl' into jch
gitster Aug 9, 2021
6ed9520
Merge branch 'ab/pack-stdin-packs-fix' into jch
gitster Aug 9, 2021
bb7c8c2
Merge branch 'ab/refs-files-cleanup' into jch
gitster Aug 9, 2021
e1fdfa5
Merge branch 'hn/refs-errno-cleanup' into jch
gitster Aug 9, 2021
076856e
Merge branch 'zh/ref-filter-raw-data' into jch
gitster Aug 9, 2021
7c1de86
Merge branch 'ab/bundle-doc' into jch
gitster Aug 9, 2021
39ae44e
Merge branch 'pw/diff-color-moved-fix' into jch
gitster Aug 9, 2021
30eaf7c
Merge branch 'js/expand-runtime-prefix' into jch
gitster Aug 9, 2021
0fd320f
Merge branch 'zh/cherry-pick-help-is-only-for-sequencer' into jch
gitster Aug 9, 2021
d4bf464
Merge branch 'en/ort-perf-batch-15' into jch
gitster Aug 9, 2021
e3261f3
Merge branch 'hn/refs-test-cleanup' into jch
gitster Aug 9, 2021
3141edd
Merge branch 'es/trace2-log-parent-process-name' into jch
gitster Aug 9, 2021
b2aa309
Merge branch 'jt/push-negotiation-fixes' into jch
gitster Aug 9, 2021
7cc01c2
Merge branch 'ps/fetch-pack-load-refs-optim' into jch
gitster Aug 9, 2021
00ffbce
Merge branch 'jk/refs-files-cleanup-cleanup' into jch
gitster Aug 9, 2021
6a39a34
### match next
gitster Aug 9, 2021
cdec0d4
Merge branch 'en/pull-conflicting-options' into jch
gitster Aug 9, 2021
8748cc8
Merge branch 'en/merge-strategy-docs' into jch
gitster Aug 9, 2021
5101e21
Merge branch 'en/ort-becomes-the-default' into jch
gitster Aug 9, 2021
86d6ca5
t7519: rewrite sparse index test
derrickstolee Aug 10, 2021
160eea7
sparse-index: silently return when not using cone-mode patterns
derrickstolee Aug 10, 2021
3cfe2b8
sparse-index: silently return when cache tree fails
derrickstolee Aug 10, 2021
8390e19
unpack-trees: fix nested sparse-dir search
derrickstolee Aug 10, 2021
d55b4bc
sparse-checkout: create helper methods
derrickstolee Aug 10, 2021
e311574
attr: be careful about sparse directories
derrickstolee Aug 10, 2021
7aa0a91
sparse-index: add SPARSE_INDEX_IGNORE_CONFIG flag
derrickstolee Aug 10, 2021
8f3a3a2
sparse-checkout: clear tracked sparse dirs
derrickstolee Aug 10, 2021
65d8c52
submodule: lazily add submodule ODBs as alternates
jonathantanmy Aug 10, 2021
e37cfff
grep: use submodule-ODB-as-alternate lazy-addition
jonathantanmy Aug 10, 2021
30a95d5
grep: typesafe versions of grep_source_init
jonathantanmy Aug 10, 2021
f53d26f
grep: read submodule entry with explicit repo
jonathantanmy Aug 10, 2021
f601ca4
grep: allocate subrepos on heap
jonathantanmy Aug 10, 2021
b9d5dec
grep: add repository to OID grep sources
jonathantanmy Aug 10, 2021
8ac00fb
t7814: show lack of alternate ODB-adding
jonathantanmy Aug 10, 2021
96a5471
userdiff: comment on the builtin patterns
gitster Aug 10, 2021
fed6b52
Merge branch 'js/log-protocol-version' into jch
gitster Aug 10, 2021
835bc1a
Merge branch 'ab/progress-users-adjust-counters' into jch
gitster Aug 10, 2021
254236f
Merge branch 'tv/p4-fallback-encoding' into jch
gitster Aug 10, 2021
c571295
Merge branch 'fc/completion-updates' into jch
gitster Aug 10, 2021
43415a0
Merge branch 'jc/trivial-threeway-binary-merge' into jch
gitster Aug 10, 2021
5eaf418
Merge branch 'ow/clone-bare-origin' into jch
gitster Aug 10, 2021
cfe1b56
Merge branch 'ps/connectivity-optim' into jch
gitster Aug 10, 2021
841ed4a
Merge branch 'cb/ci-build-pedantic' into jch
gitster Aug 10, 2021
7dd5e0e
Merge branch 'cb/builtin-merge-format-string-fix' into jch
gitster Aug 10, 2021
5768272
Merge branch 'jc/userdiff-pattern-hint' into jch
gitster Aug 10, 2021
782bcc6
Merge branch 'jk/apply-binary-hunk-parsing-fix' into jch
gitster Aug 10, 2021
1eee184
Merge branch 'jk/range-diff-fixes' into jch
gitster Aug 10, 2021
d393e45
sequencer: advise if skipping cherry-picked commit
steadmon Aug 10, 2021
193625e
SQUASH???
gitster Aug 10, 2021
128d2c5
Merge branch 'js/advise-when-skipping-cherry-picked' into jch
gitster Aug 10, 2021
86d742e
Merge branch 'jt/grep-wo-submodule-odb-as-alternate' into jch
gitster Aug 10, 2021
1bc8733
Merge branch 'lh/systemd-timers' into seen
gitster Aug 10, 2021
2da25c2
Merge branch 'ar/submodule-add-config' into seen
gitster Aug 10, 2021
1da2ca6
Merge branch 'ar/submodule-add-more' into seen
gitster Aug 10, 2021
ba796f7
Merge branch 'bc/inactive-submodules' into seen
gitster Aug 10, 2021
345ff7b
Merge branch 'gh/gitweb-branch-sort' into seen
gitster Aug 10, 2021
60726ed
Merge branch 'ao/p4-avoid-decoding' into seen
gitster Aug 10, 2021
f856d78
Merge branch 'ab/test-tool-cache-cleanup' into seen
gitster Aug 10, 2021
d007cc2
Merge branch 'ab/pack-objects-stdin' into seen
gitster Aug 10, 2021
a2bb3b4
Merge branch 'en/zdiff3' into seen
gitster Aug 10, 2021
13a4c9f
Merge branch 'es/superproject-aware-submodules' into seen
gitster Aug 10, 2021
ec02fe0
Merge branch 'ab/serve-cleanup' into seen
gitster Aug 10, 2021
c05162d
Merge branch 'ab/config-based-hooks-base' into seen
gitster Aug 10, 2021
60ad0af
Merge branch 'ab/fsck-unexpected-type' into seen
gitster Aug 10, 2021
50dea36
Merge branch 'ab/make-tags-cleanup' into seen
gitster Aug 10, 2021
8000aba
Merge branch 'tb/multi-pack-bitmaps' into seen
gitster Aug 10, 2021
2d443a2
Merge branch 'cf/fetch-set-upstream-while-detached' into seen
gitster Aug 10, 2021
0a1cff5
Merge branch 'ab/lib-subtest' into seen
gitster Aug 10, 2021
93605c4
Merge branch 'ab/only-single-progress-at-once' into seen
gitster Aug 10, 2021
388efbf
Merge branch 'fs/ssh-signing' into seen
gitster Aug 10, 2021
1b1d7ba
Merge branch 'cb/makefile-apple-clang' into seen
gitster Aug 10, 2021
60a8c24
Merge branch 'ds/sparse-index-ignored-files' into seen
gitster Aug 10, 2021
c96f878
Merge branch 'np/blame-ignore-revs-file-may-be-optional' into seen
gitster Aug 10, 2021
32dab6b
Merge branch 'ka/want-ref-in-namespace' into seen
gitster Aug 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,8 @@ jobs:
image: alpine
- jobname: Linux32
image: daald/ubuntu32:xenial
- jobname: pedantic
image: fedora
env:
jobname: ${{matrix.vector.jobname}}
runs-on: ubuntu-latest
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@
/git-grep
/git-hash-object
/git-help
/git-hook
/git-http-backend
/git-http-fetch
/git-http-push
Expand Down Expand Up @@ -190,6 +191,7 @@
/gitweb/static/gitweb.min.*
/config-list.h
/command-list.h
/hook-list.h
*.tar.gz
*.dsc
*.deb
Expand Down
3 changes: 2 additions & 1 deletion Documentation/blame-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,8 @@ take effect.
`fsck.skipList`. This option may be repeated, and these files will be
processed after any files specified with the `blame.ignoreRevsFile` config
option. An empty file name, `""`, will clear the list of revs from
previously processed files.
previously processed files. If `blame.ignoreRevsFileIsOptional` is true,
missing files will be silently ignored.

-h::
Show help message.
9 changes: 9 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,15 @@ pathname::
tilde expansion happens to such a string: `~/`
is expanded to the value of `$HOME`, and `~user/` to the
specified user's home directory.
+
If a path starts with `%(prefix)/`, the remainder is interpreted as a
path relative to Git's "runtime prefix", i.e. relative to the location
where Git itself was installed. For example, `%(prefix)/bin/` refers to
the directory in which the Git executable itself lives. If Git was
compiled without runtime prefix support, the compiled-in prefix will be
subsituted instead. In the unlikely event that a literal path needs to
be specified that should _not_ be expanded, it needs to be prefixed by
`./`, like so: `./%(prefix)/bin`.


Variables
Expand Down
3 changes: 3 additions & 0 deletions Documentation/config/advice.txt
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ advice.*::
Shown when linkgit:git-push[1] rejects a forced update of
a branch when its remote-tracking ref has updates that we
do not have locally.
skippedCherryPicks::
Shown when linkgit:git-rebase[1] skips a commit that has already
been cherry-picked onto the upstream branch.
statusAheadBehind::
Shown when linkgit:git-status[1] computes the ahead/behind
counts for a local ref compared to its remote tracking ref,
Expand Down
5 changes: 5 additions & 0 deletions Documentation/config/blame.txt
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ blame.ignoreRevsFile::
file names will reset the list of ignored revisions. This option will
be handled before the command line option `--ignore-revs-file`.

blame.ignoreRevsFileIsOptional::
Silently skip missing files specified by ignoreRevsFile or the command line
option `--ignore-revs-file`. If unset, or set to false, missing files will
cause a nonrecoverable error.

blame.markUnblamableLines::
Mark lines that were changed by an ignored revision that we could not
attribute to another commit with a '*' in the output of
Expand Down
45 changes: 43 additions & 2 deletions Documentation/config/gpg.txt
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ gpg.program::

gpg.format::
Specifies which key format to use when signing with `--gpg-sign`.
Default is "openpgp" and another possible value is "x509".
Default is "openpgp". Other possible values are "x509", "ssh".

gpg.<format>.program::
Use this to customize the program used for the signing format you
chose. (see `gpg.program` and `gpg.format`) `gpg.program` can still
be used as a legacy synonym for `gpg.openpgp.program`. The default
value for `gpg.x509.program` is "gpgsm".
value for `gpg.x509.program` is "gpgsm" and `gpg.ssh.program` is "ssh-keygen".

gpg.minTrustLevel::
Specifies a minimum trust level for signature verification. If
Expand All @@ -33,3 +33,44 @@ gpg.minTrustLevel::
* `marginal`
* `fully`
* `ultimate`

gpg.ssh.defaultKeyCommand:
This command that will be run when user.signingkey is not set and a ssh
signature is requested. On successful exit a valid ssh public key is
expected in the first line of its output. To automatically use the first
available key from your ssh-agent set this to "ssh-add -L".

gpg.ssh.allowedSignersFile::
A file containing ssh public keys which you are willing to trust.
The file consists of one or more lines of principals followed by an ssh
public key.
e.g.: user1@example.com,user2@example.com ssh-rsa AAAAX1...
See ssh-keygen(1) "ALLOWED SIGNERS" for details.
The principal is only used to identify the key and is available when
verifying a signature.
+
SSH has no concept of trust levels like gpg does. To be able to differentiate
between valid signatures and trusted signatures the trust level of a signature
verification is set to `fully` when the public key is present in the allowedSignersFile.
Therefore to only mark fully trusted keys as verified set gpg.minTrustLevel to `fully`.
Otherwise valid but untrusted signatures will still verify but show no principal
name of the signer.
+
This file can be set to a location outside of the repository and every developer
maintains their own trust store. A central repository server could generate this
file automatically from ssh keys with push access to verify the code against.
In a corporate setting this file is probably generated at a global location
from automation that already handles developer ssh keys.
+
A repository that only allows signed commits can store the file
in the repository itself using a path relative to the top-level of the working tree.
This way only committers with an already valid key can add or change keys in the keyring.
+
Using a SSH CA key with the cert-authority option
(see ssh-keygen(1) "CERTIFICATES") is also valid.

gpg.ssh.revocationFile::
Either a SSH KRL or a list of revoked public keys (without the principal prefix).
See ssh-keygen(1) for details.
If a public key is found in this file then it will always be treated
as having trust level "never" and signatures will show as invalid.
9 changes: 8 additions & 1 deletion Documentation/config/merge.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,14 @@ merge.conflictStyle::
shows a `<<<<<<<` conflict marker, changes made by one side,
a `=======` marker, changes made by the other side, and then
a `>>>>>>>` marker. An alternate style, "diff3", adds a `|||||||`
marker and the original text before the `=======` marker.
marker and the original text before the `=======` marker. The
"merge" style tends to produce smaller conflict regions than diff3,
both because of the exclusion of the original text, and because
when a subset of lines match on the two sides they are just pulled
out of the conflict region. Another alternate style, "zdiff3", is
similar to diff3 but removes matching lines on the two sides from
the conflict region when those matching lines appear near the
beginning or ending of a conflict region.

merge.defaultToUpstream::
If merge is called without any commit argument, merge the upstream
Expand Down
9 changes: 9 additions & 0 deletions Documentation/config/submodule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,12 @@ submodule.alternateErrorStrategy::
`ignore`, `info`, `die`. Default is `die`. Note that if set to `ignore`
or `info`, and if there is an error with the computed alternate, the
clone proceeds as if no alternate was specified.

submodule.superprojectGitDir::
The relative path from the submodule's worktree to the superproject's
gitdir. This config should only be present in projects which are
submodules, but is not guaranteed to be present in every submodule. It
is set automatically during submodule creation.
+
Because of this configuration variable, it is forbidden to use the
same submodule worktree shared by multiple superprojects.
17 changes: 10 additions & 7 deletions Documentation/config/transfer.txt
Original file line number Diff line number Diff line change
Expand Up @@ -52,13 +52,16 @@ If you have multiple hideRefs values, later entries override earlier ones
(and entries in more-specific config files override less-specific ones).
+
If a namespace is in use, the namespace prefix is stripped from each
reference before it is matched against `transfer.hiderefs` patterns.
For example, if `refs/heads/master` is specified in `transfer.hideRefs` and
the current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master`
is omitted from the advertisements but `refs/heads/master` and
`refs/namespaces/bar/refs/heads/master` are still advertised as so-called
"have" lines. In order to match refs before stripping, add a `^` in front of
the ref name. If you combine `!` and `^`, `!` must be specified first.
reference before it is matched against `transfer.hiderefs` patterns. For
example, if `refs/heads/master` is specified in `transfer.hideRefs` and the
current namespace is `foo`, then `refs/namespaces/foo/refs/heads/master` is
omitted from the advertisements. If `uploadpack.allowRefInWant` is set,
`upload-pack` will treat `want-ref refs/heads/master` in a protocol v2
`fetch` command as if `refs/heads/master` was unknown. Note, however, that
`receive-pack` will still advertise the object id `refs/heads/master` is
pointing to, but will conceil the name of the ref. In order to match refs
before stripping, add a `^` in front of the ref name. If you combine `!` and
`^`, `!` must be specified first.
+
Even if you hide refs, a client may still be able to steal the target
objects via the techniques described in the "SECURITY" section of the
Expand Down
7 changes: 7 additions & 0 deletions Documentation/config/user.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,3 +36,10 @@ user.signingKey::
commit, you can override the default selection with this variable.
This option is passed unchanged to gpg's --local-user parameter,
so you may specify a key using any method that gpg supports.
If gpg.format is set to "ssh" this can contain the literal ssh public
key (e.g.: "ssh-rsa XXXXXX identifier") or a file which contains it and
corresponds to the private key used for signing. The private key
needs to be available via ssh-agent. Alternatively it can be set to
a file containing a private key directly. If not set git will call
gpg.ssh.defaultKeyCommand (e.g.: "ssh-add -L") and try to use the first
key available.
8 changes: 4 additions & 4 deletions Documentation/diff-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,10 @@ ifdef::git-log[]
--diff-merges=m:::
-m:::
This option makes diff output for merge commits to be shown in
the default format. The default format could be changed using
the default format. `-m` will produce the output only if `-p`
is given as well. The default format could be changed using
`log.diffMerges` configuration parameter, which default value
is `separate`. `-m` implies `-p`.
is `separate`.
+
--diff-merges=first-parent:::
--diff-merges=1:::
Expand All @@ -61,8 +62,7 @@ ifdef::git-log[]
--diff-merges=separate:::
This makes merge commits show the full diff with respect to
each of the parents. Separate log entry and diff is generated
for each parent. This is the format that `-m` produced
historically.
for each parent.
+
--diff-merges=combined:::
--diff-merges=c:::
Expand Down
Loading