Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
249 commits
Select commit Hold shift + click to select a range
35a9f1e
tree-walk.c: don't match submodule entries for 'submod/anything'
szeder Jun 5, 2020
cb9daf1
commit-graph: fix parsing the Chunk Lookup table
szeder Jun 5, 2020
6141cdf
commit-graph-format.txt: all multi-byte numbers are in network byte o…
szeder Jun 5, 2020
1df15f8
commit-slab: add a function to deep free entries on the slab
szeder Jun 5, 2020
0ee3cb8
diff.h: drop diff_tree_oid() & friends' return value
szeder Jun 5, 2020
fa79653
commit-graph: clean up #includes
szeder Jun 5, 2020
2ad4f1a
commit-graph: simplify parse_commit_graph() #1
szeder Jun 5, 2020
5cfa438
commit-graph: simplify parse_commit_graph() #2
szeder Jun 5, 2020
bb4d60e
commit-graph: simplify write_commit_graph_file() #1
szeder Jun 5, 2020
7fbfe07
commit-graph: simplify write_commit_graph_file() #2
szeder Jun 5, 2020
061c224
Introduce CMake support for configuring Git
SibiSiddharthan Jun 12, 2020
98037f2
commit-graph: place bloom_settings in context
derrickstolee Jun 23, 2020
7b671f8
commit-graph: change test to die on parse, not load
derrickstolee Jun 23, 2020
afa45fe
cmake: generate the shell/perl/python scripts and templates, translat…
SibiSiddharthan Jun 26, 2020
f1f5dff
cmake: installation support for git
SibiSiddharthan Jun 26, 2020
c4b2f41
cmake: support for testing git with ctest
SibiSiddharthan Jun 26, 2020
7f5397a
cmake: support for testing git when building out of the source tree
SibiSiddharthan Jun 26, 2020
f7adba4
cmake: support for building git on windows with mingw
SibiSiddharthan Jun 26, 2020
7f475e2
cmake: support for building git on windows with msvc and clang.
SibiSiddharthan Jun 26, 2020
4c2c38e
ci: modification of main.yml to use cmake for vs-build job
SibiSiddharthan Jun 26, 2020
9491974
bloom: fix logic in get_bloom_filter()
derrickstolee Jul 1, 2020
0087a87
commit-graph: persist existence of changed-paths
derrickstolee Jul 1, 2020
9bab081
commit-graph: unify the signatures of all write_graph_chunk_*() funct…
szeder Jul 1, 2020
17e6275
commit-graph: simplify chunk writes into loop
szeder Jul 1, 2020
2dd4fed
commit-graph: check chunk sizes after writing
szeder Jul 1, 2020
dc8e95b
revision.c: fix whitespace
derrickstolee Jul 1, 2020
f3c2a36
revision: empty pathspecs should not use Bloom filters
ttaylorr Jul 1, 2020
c525ce9
commit-graph: check all leading directories in changed path Bloom fil…
szeder Jul 1, 2020
9e35a6a
lib-t6000.sh: write tag using git-update-ref
hanwen Jun 30, 2020
4d9e7c1
t3701: stop using `env` in force_color()
Denton-L Jul 7, 2020
6861ac8
t5324: reorder `run_with_limited_open_files test_might_fail`
Denton-L Jul 7, 2020
c96050f
t7107: don't use test_must_fail()
Denton-L Jul 7, 2020
6e7b0ea
t9834: remove use of `test_might_fail p4`
Denton-L Jul 7, 2020
41feac6
t9400: don't use test_must_fail with cvs
Denton-L Jul 7, 2020
6a67c75
test-lib-functions: restrict test_must_fail usage
Denton-L Jul 7, 2020
f421e02
t6000: use test_tick consistently
peff Jul 7, 2020
f8f28ed
git-log.txt: add links to 'rev-list' and 'diff' docs
phil-blain Jul 9, 2020
f5d9e91
revisions.txt: describe 'rev1 rev2 ...' meaning for ranges
phil-blain Jul 9, 2020
8560723
git-rev-list.txt: fix Asciidoc syntax
phil-blain Jul 9, 2020
6001a1d
git-rev-list.txt: tweak wording in set operations
phil-blain Jul 9, 2020
6be6b17
git-rev-list.txt: move description to separate file
phil-blain Jul 9, 2020
bea8665
git-log.txt: include rev-list-description.txt
phil-blain Jul 9, 2020
dfaa209
git clone: don't clone into non-empty directory
bwijen Jul 10, 2020
fccf41e
t9700: loosen ident timezone regex
peff Jul 9, 2020
f4eec0b
t5539: make timestamp requirements more explicit
peff Jul 9, 2020
9fcc9ca
Documentation: clarify %(contents:XXXX) doc
chriscool Jul 10, 2020
6e2ef8e
t6300: test refs pointing to tree and blob
chriscool Jul 10, 2020
ce57d85
t3432: use git-reflog to inspect the reflog for HEAD
hanwen Jul 10, 2020
de966e3
bisect: treat BISECT_HEAD as a pseudo ref
hanwen Jul 10, 2020
523fa69
reflog: cleanse messages in the refs.c layer
gitster Jul 10, 2020
96ac26f
t9100: explicitly unset GIT_COMMITTER_DATE
peff Jul 14, 2020
f2e3937
test-lib: set deterministic default author/committer date
peff Jul 9, 2020
180a4d7
t9100: stop depending on commit timestamps
peff Jul 15, 2020
688b87c
completion: add show --color-moved[-ws]
zippy2 Jul 14, 2020
ec91ffc
verify_repository_format(): complain about new extensions in v0 repo
peff Jul 16, 2020
a98f7fb
read-cache: remove bogus shortcut
rscharfe Jul 16, 2020
b6839fd
ref-filter: add support for %(contents:size)
chriscool Jul 16, 2020
77aa094
upload-pack: do not lazy-fetch "have" objects
jonathantanmy Jul 16, 2020
0b7de6c
t1400: use git rev-parse for testing PSEUDOREF existence
hanwen Jul 16, 2020
cada730
dir: check pathspecs before returning `path_excluded`
Jul 20, 2020
9b906af
git-mv: improve error message for conflicted file
chris3torek Jul 20, 2020
cd85b44
remote-curl: make --force-with-lease work with non-ASCII ref names
bk2204 Jul 21, 2020
8d5cf95
pack-objects: refactor to oid_object_info_extended
jonathantanmy Jul 21, 2020
e00549a
pack-objects: prefetch objects to be packed
jonathantanmy Jul 21, 2020
a64d2aa
sha1-file: make pretend_object_file() not prefetch
jonathantanmy Jul 21, 2020
e2bfa50
pack-write/docs: update regarding pack naming
jmberg Jul 22, 2020
60e47f6
ci: use absolute PYTHON_PATH in the Linux jobs
szeder Jul 23, 2020
dd84e52
git-send-email: die if sendmail.* config is set
ddevault Jul 24, 2020
0974341
Modify pseudo refs through ref backend storage
hanwen Jul 27, 2020
55dd8b9
Make HEAD a PSEUDOREF rather than PER_WORKTREE.
hanwen Jul 27, 2020
6d12b53
Remove doubled words in various comments
newren Jul 28, 2020
861c4ce
hashmap: fix typo in usage docs
newren Jul 28, 2020
98c6871
grep: avoid using oid_to_hex() with parse_object_or_die()
rscharfe Jul 28, 2020
b17f411
git-help.txt: fix mentions of option --guides
rybak Jul 29, 2020
84544f2
comment: fix spelling mistakes inside comments
skx Jul 29, 2020
eed5332
log: drop "--cc implies -m" logic
peff Jul 29, 2020
6fae74b
revision: add "--no-diff-merges" option to counteract "-m"
peff Jul 29, 2020
9ab89a2
log: enable "-m" automatically with "--first-parent"
peff Jul 29, 2020
6f2e02a
doc/git-log: move "Diff Formatting" from rev-list-options
peff Jul 29, 2020
6cea104
doc/git-log: drop "-r" diff option
peff Jul 29, 2020
9a6d515
doc/git-log: move "-t" into diff-options list
peff Jul 29, 2020
5fbb4bc
doc/git-log: clarify handling of merge commit diffs
peff Jul 29, 2020
83bbf9b
mergetool--lib: improve support for vimdiff-style tool variants
pudiva Jul 29, 2020
1186897
mergetools: add support for nvimdiff (neovim) family
pudiva Jul 29, 2020
094a685
t: make test-bloom initialize repository
bk2204 Jul 29, 2020
d827bce
t1001: use $ZERO_OID
bk2204 Jul 29, 2020
9e3bd8a
t3305: make hash agnostic
bk2204 Jul 29, 2020
800e6a7
t3404: prepare 'short SHA-1 collision' tests for SHA-256
dscho Jul 29, 2020
11b6961
t6100: make hash size independent
bk2204 Jul 29, 2020
08fbc5d
t6101: make hash size independent
bk2204 Jul 29, 2020
abe3db1
t6301: make hash size independent
bk2204 Jul 29, 2020
368f3cb
t6500: specify test values for SHA-256
bk2204 Jul 29, 2020
252a4ee
t6501: avoid hard-coded objects
bk2204 Jul 29, 2020
4bacb6d
t7003: compute appropriate length constant
bk2204 Jul 29, 2020
866be6e
t7063: make hash size independent
bk2204 Jul 29, 2020
d482c23
t7201: abstract away SHA-1-specific constants
bk2204 Jul 29, 2020
d62607d
t7102: abstract away SHA-1-specific constants
bk2204 Jul 29, 2020
c0b65ea
t7400: make hash size independent
bk2204 Jul 29, 2020
2197f87
t7405: make hash size independent
bk2204 Jul 29, 2020
66b6d43
t7506: avoid checking for SHA-1-specific constants
bk2204 Jul 29, 2020
a5587b8
t7508: use $ZERO_OID instead of hard-coded constant
bk2204 Jul 29, 2020
98de0b2
t8002: make hash size independent
bk2204 Jul 29, 2020
7187eb1
t8003: make hash size independent
bk2204 Jul 29, 2020
db00af9
t8011: make hash size independent
bk2204 Jul 29, 2020
22f1824
t9300: abstract away SHA-1-specific constants
bk2204 Jul 29, 2020
287bb3a
t9300: use $ZERO_OID instead of hard-coded object ID
bk2204 Jul 29, 2020
b6e5005
t9301: make hash size independent
bk2204 Jul 29, 2020
831279d
t9350: make hash size independent
bk2204 Jul 29, 2020
6ff6a67
t9500: ensure that algorithm info is preserved in config
bk2204 Jul 29, 2020
e0a646e
t9700: make hash size independent
bk2204 Jul 29, 2020
de5737c
t5308: make test work with SHA-256
bk2204 Jul 29, 2020
6c2adf8
t0410: mark test with SHA1 prerequisite
bk2204 Jul 29, 2020
439d3a1
http-fetch: set up git directory before parsing pack hashes
bk2204 Jul 29, 2020
e74b606
builtin/verify-pack: implement an --object-format option
bk2204 Jul 29, 2020
c5aecfc
bundle: add new version for use with SHA-256
bk2204 Jul 29, 2020
b5b46d7
setup: add support for reading extensions.objectformat
bk2204 Jul 29, 2020
eff45da
repository: enable SHA-256 support by default
bk2204 Jul 29, 2020
ceaa4b3
t: add test_oid option to select hash algorithm
bk2204 Jul 29, 2020
02a32db
t: allow testing different hash algorithms via environment
bk2204 Jul 29, 2020
c49fe07
t: make SHA1 prerequisite depend on default hash
bk2204 Jul 29, 2020
8a06d56
ci: run tests with SHA-256
bk2204 Jul 29, 2020
4feb562
docs: add documentation for extensions.objectFormat
bk2204 Jul 29, 2020
e023ff0
t: remove test_oid_init in tests
bk2204 Jul 29, 2020
2153192
Revert "fmt-merge-msg: stop treating `master` specially"
gitster Jul 30, 2020
6e6029a
fmt-merge-msg: allow merge destination to be omitted again
gitster Jul 29, 2020
de6dda0
Merge branch 'sg/commit-graph-cleanups' into master
gitster Jul 30, 2020
70cdbbe
Merge branch 'ds/commit-graph-bloom-updates' into master
gitster Jul 30, 2020
6fc5542
Merge branch 'jk/tests-timestamp-fix' into master
gitster Jul 30, 2020
5ca82e3
Merge branch 'pb/log-rev-list-doc' into master
gitster Jul 30, 2020
f175e9b
Merge branch 'bw/fail-cloning-into-non-empty' into master
gitster Jul 30, 2020
3161cc6
Merge branch 'hn/reftable' into master
gitster Jul 30, 2020
c28a2d0
Merge branch 'jk/reject-newer-extensions-in-v0' into master
gitster Jul 30, 2020
e163cff
Merge branch 'dl/test-must-fail-fixes-6' into master
gitster Jul 30, 2020
37f382a
Merge branch 'jt/avoid-lazy-fetching-upon-have-check' into master
gitster Jul 30, 2020
a20e20e
Merge branch 'rs/add-index-entry-optim-fix' into master
gitster Jul 30, 2020
be53706
Merge branch 'cc/pretty-contents-size' into master
gitster Jul 30, 2020
c2796ac
Merge branch 'bc/push-cas-cquoted-refname' into master
gitster Jul 30, 2020
be2dab9
Merge branch 'ct/mv-unmerged-path-error' into master
gitster Jul 30, 2020
82fafc7
Merge branch 'en/fill-directory-exponential' into master
gitster Jul 30, 2020
79bcaf0
First batch post 2.28
gitster Jul 30, 2020
8a111fc
Merge branch 'sk/typofixes' into master
gitster Jul 31, 2020
5942edb
Merge branch 'ar/help-guides-doc' into master
gitster Jul 31, 2020
add0a35
Merge branch 'rs/grep-simpler-parse-object-or-die-call' into master
gitster Jul 31, 2020
5d4e13f
Merge branch 'en/typofixes' into master
gitster Jul 31, 2020
06df6b5
Merge branch 'sg/ci-git-path-fix-with-pyenv' into master
gitster Jul 31, 2020
d61aed0
Merge branch 'jb/doc-packfile-name' into master
gitster Jul 31, 2020
e8ab941
The second batch -- mostly minor typofixes
gitster Jul 31, 2020
25429fe
refs: move the logic to add \t to reflog to the files backend
hanwen Jul 31, 2020
3db796c
t6300: fix issues related to %(contents:size)
agrn Jul 31, 2020
62573a5
worktree: drop pointless strbuf_release()
sunshineco Jul 31, 2020
246756f
worktree: drop unused code from get_linked_worktree()
sunshineco Jul 31, 2020
1c4854e
worktree: drop bogus and unnecessary path munging
sunshineco Jul 31, 2020
918d8ff
worktree: retire special-case normalization of main worktree path
sunshineco Jul 31, 2020
341a196
Merge branch 'jc/fmt-merge-msg-suppress-destination' into master
gitster Aug 1, 2020
dc3c6fb
Merge branch 'hn/reftable' into master
gitster Aug 1, 2020
4083971
Merge branch 'cc/pretty-contents-size' into master
gitster Aug 1, 2020
85b4e0a
Third batch
gitster Aug 1, 2020
dc156bc
t1450: fix quoting of NUL byte when corrupting pack
Aug 1, 2020
56e7434
merge-recursive: fix unclear and outright wrong comments
newren Aug 2, 2020
7d23ff8
bisect: use oid_to_hex_r() instead of memcpy()+oid_to_hex()
rscharfe Aug 2, 2020
fe48efb
t6038: make tests fail for the right reason
newren Aug 3, 2020
6f6e7cf
t6038: remove problematic test
newren Aug 3, 2020
8d55225
merge: make merge.renormalize work for all uses of merge machinery
newren Aug 3, 2020
00906d6
checkout: support renormalization with checkout -m <paths>
newren Aug 3, 2020
de20baf
docs: improve the example that illustrates git-notes path names
noamraph Aug 3, 2020
b87528c
Revert "contrib: subtree: adjust test to change in fmt-merge-msg"
nasamuffin Aug 3, 2020
b9ea214
list_objects_filter_options: introduce 'list_object_filter_config_name'
ttaylorr Jul 31, 2020
6dd3456
upload-pack.c: allow banning certain object filter(s)
ttaylorr Aug 3, 2020
5b01a4e
upload-pack.c: introduce 'uploadpackfilter.tree.maxDepth'
ttaylorr Aug 3, 2020
e79e313
git-worktree.txt: employ fixed-width typeface consistently
sunshineco Aug 4, 2020
4f375b2
git-worktree.txt: consistently use term "working tree"
sunshineco Aug 4, 2020
ff1ce50
git-worktree.txt: fix minor grammatical issues
sunshineco Aug 4, 2020
1933f6c
git-worktree.txt: make start of new sentence more obvious
sunshineco Aug 4, 2020
dc9c144
git-worktree.txt: link to man pages when citing other Git commands
sunshineco Aug 4, 2020
aec0bba
config: work around gcc-10 -Wstringop-overflow warning
peff Aug 4, 2020
fd9a631
revision: avoid out-of-bounds read/write on empty pathspec
peff Aug 4, 2020
398e659
revision: avoid leak when preparing bloom filter for "/"
peff Aug 4, 2020
a131512
Merge branch 'mp/complete-show-color-moved'
gitster Aug 4, 2020
5c454b3
Merge branch 'jt/pack-objects-prefetch-in-batch'
gitster Aug 4, 2020
5b137e8
Merge branch 'jt/pretend-object-never-come-from-elsewhere'
gitster Aug 4, 2020
dc04167
Fourth batch
gitster Aug 4, 2020
f649aaa
revision: fix die() message for "--unpacked="
sorganov Aug 4, 2020
2135e1a
command-list.txt: add missing 'gitcredentials' and 'gitremote-helpers'
phil-blain Aug 5, 2020
0371a76
help: drop usage of 'common' and 'useful' for guides
phil-blain Aug 5, 2020
e7a9807
Documentation: don't hardcode command categories twice
gitster Aug 5, 2020
f442f28
git.txt: add list of guides
phil-blain Aug 5, 2020
6cc275e
t5616: use test_i18ngrep for upload-pack errors
peff Aug 5, 2020
6103d58
git-cvsexportcommit: support Perl before 5.10.1
bk2204 Aug 6, 2020
1d8d9cb
sha1-file: introduce no-lazy-fetch has_object()
jonathantanmy Aug 5, 2020
3318238
apply: do not lazy fetch when applying binary
jonathantanmy Aug 5, 2020
ee47243
pack-objects: no fetch when allow-{any,promisor}
jonathantanmy Aug 5, 2020
9eb86f4
fsck: do not lazy fetch known non-promisor object
jonathantanmy Aug 5, 2020
7cfde3f
apply: allow "new file" patches on i-t-a entries
juped Aug 6, 2020
11bc12a
blame-options.txt: document --first-parent option
juped Aug 6, 2020
c76b84a
t: don't spuriously close and reopen quotes
Aug 6, 2020
289218d
t4104: modernize and simplify quoting
Aug 6, 2020
15b52a4
compat-util: type-check parameters of no-op replacement functions
gitster Aug 7, 2020
7c69402
sideband: mark "remote error:" prefix for translation
peff Aug 7, 2020
e5256c8
refs: fix interleaving hook calls with reference-transaction hook
pks-t Aug 7, 2020
15a4802
t6030: modernize "git bisect run" tests
alipman88 Aug 7, 2020
0fe305a
rev-list: allow bisect and first-parent flags
alipman88 Aug 7, 2020
be5fe20
cmd_bisect__helper: defer parsing no-checkout flag
alipman88 Aug 7, 2020
e8861ff
bisect: introduce first-parent flag
alipman88 Aug 7, 2020
ad464a4
bisect: combine args passed to find_bisection()
alipman88 Aug 7, 2020
e3cc41b
apply: make i-t-a entries never match worktree
juped Aug 8, 2020
4c025c6
t4140: test apply with i-t-a paths
juped Aug 8, 2020
d572f52
test_cmp: diagnose incorrect arguments
sunshineco Aug 9, 2020
46b225f
Merge branch 'jk/strvec'
gitster Aug 10, 2020
197253e
Merge branch 'es/worktree-cleanup'
gitster Aug 10, 2020
5b53175
Merge branch 'ma/t1450-quotefix'
gitster Aug 10, 2020
33cef0f
Merge branch 'en/merge-recursive-comment-fixes'
gitster Aug 10, 2020
7d7f4e3
Merge branch 'rs/bisect-oid-to-hex-fix'
gitster Aug 10, 2020
83b8250
Merge branch 'es/adjust-subtree-test-for-merge-msg-update'
gitster Aug 10, 2020
d3e54ed
Merge branch 'ny/notes-doc-sample-update'
gitster Aug 10, 2020
1aa3dff
Merge branch 'jk/compiler-fixes-and-workarounds'
gitster Aug 10, 2020
4339259
Merge branch 'en/eol-attrs-gotchas'
gitster Aug 10, 2020
abde3d3
Merge branch 'so/rev-parser-errormessage-fix'
gitster Aug 10, 2020
995c719
Merge branch 'pb/guide-docs'
gitster Aug 10, 2020
4f0a8be
Fifth batch
gitster Aug 10, 2020
ac900fd
progress: don't dereference before checking for NULL
Aug 10, 2020
09b2aa3
t1416: avoid hard-coded sha1 ids
peff Aug 11, 2020
6501580
revision: change "--diff-merges" option to require parameter
sorganov Aug 5, 2020
405a2fd
doc/git-log: describe --diff-merges=off
sorganov Aug 5, 2020
298889d
t/t4013: add test for --diff-merges=off
sorganov Aug 5, 2020
e0ad957
Merge branch 'bc/sha-256-part-3'
gitster Aug 12, 2020
a3afa4b
Merge branch 'es/worktree-doc-cleanups'
gitster Aug 12, 2020
73a9255
Merge branch 'tb/upload-pack-filters'
gitster Aug 12, 2020
a30e4c5
Merge branch 'ss/cmake-build'
gitster Aug 12, 2020
7814e8a
Sixth batch
gitster Aug 12, 2020
092b677
Merge branch 'bc/sha-256-cvs-svn-updates'
gitster Aug 13, 2020
d1a8a89
Merge branch 'jt/has_object'
gitster Aug 13, 2020
0a41a89
Merge branch 'ma/test-quote-cleanup'
gitster Aug 13, 2020
5707ac4
Merge branch 'rp/blame-first-parent-doc'
gitster Aug 13, 2020
878e727
Seventh batch
gitster Aug 13, 2020
5676db2
Merge branch 'ps/ref-transaction-hook'
gitster Aug 18, 2020
a00bda2
Merge branch 'dd/send-email-config'
gitster Aug 18, 2020
95c687b
Merge branch 'hn/reftable-prep-part-2'
gitster Aug 18, 2020
873fa13
Merge branch 'pd/mergetool-nvimdiff'
gitster Aug 18, 2020
a01dadb
Merge branch 'jc/noop-with-static-inline'
gitster Aug 18, 2020
789279e
Merge branch 'jk/sideband-error-l10n'
gitster Aug 18, 2020
47f0f94
Merge branch 'al/bisect-first-parent'
gitster Aug 18, 2020
ca81676
Merge branch 'rp/apply-cached-with-i-t-a'
gitster Aug 18, 2020
07f14d3
Merge branch 'es/test-cmp-typocatcher'
gitster Aug 18, 2020
e6ec620
Merge branch 'ma/stop-progress-null-fix'
gitster Aug 18, 2020
eca8c62
Merge branch 'jk/log-fp-implies-m'
gitster Aug 18, 2020
a555b51
Merge branch 'so/log-diff-merges-opt'
gitster Aug 18, 2020
2befe97
Eighth batch
gitster Aug 18, 2020
887952b
fetch: optionally allow disabling FETCH_HEAD update
gitster Aug 18, 2020
e88fb40
Merge branch 'maintenance/base' into HEAD
derrickstolee Sep 30, 2020
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
4 changes: 3 additions & 1 deletion Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ MAN1_TXT += git.txt
MAN1_TXT += gitk.txt
MAN1_TXT += gitweb.txt

# man5 / man7 guides (note: new guides should also be added to command-list.txt)
MAN5_TXT += gitattributes.txt
MAN5_TXT += githooks.txt
MAN5_TXT += gitignore.txt
Expand Down Expand Up @@ -294,14 +295,15 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
cmds-plumbingmanipulators.txt \
cmds-synchingrepositories.txt \
cmds-synchelpers.txt \
cmds-guide.txt \
cmds-purehelpers.txt \
cmds-foreignscminterface.txt

$(cmds_txt): cmd-list.made

cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
$(QUIET_GEN)$(RM) $@ && \
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
date >$@

mergetools_txt = mergetools-diff.txt mergetools-merge.txt
Expand Down
162 changes: 162 additions & 0 deletions Documentation/RelNotes/2.29.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
Git 2.29 Release Notes
======================

Updates since v2.28
-------------------

UI, Workflows & Features

* "git help log" has been enhanced by sharing more material from the
documentation for the underlying "git rev-list" command.

* "git for-each-ref --format=<>" learned %(contents:size).

* "git merge" learned to selectively omit " into <branch>" at the end
of the title of default merge message with merge.suppressDest
configuration.

* The component to respond to "git fetch" request is made more
configurable to selectively allow or reject object filtering
specification used for partial cloning.

* Stop when "sendmail.*" configuration variables are defined, which
could be a mistaken attempt to define "sendemail.*" variables.

* The existing backends for "git mergetool" based on variants of vim
have been refactored and then support for "nvim" has been added.

* "git bisect" learns the "--first-parent" option to find the first
breakage along the first-parent chain.

* "git log --first-parent -p" showed patches only for single-parent
commits on the first-parent chain; the "--first-parent" option has
been made to imply "-m". Use "--no-diff-merges" to restore the
previous behaviour to omit patches for merge commits.


Performance, Internal Implementation, Development Support etc.

* The changed-path Bloom filter is improved using ideas from an
independent implementation.

* Updates to the changed-paths bloom filter.

* The test framework has been updated so that most tests will run
with predictable (artificial) timestamps.

* Preliminary clean-up of the refs API in preparation for adding a
new refs backend "reftable".

* Dev support to limit the use of test_must_fail to only git commands.

* While packing many objects in a repository with a promissor remote,
lazily fetching missing objects from the promissor remote one by
one may be inefficient---the code now attempts to fetch all the
missing objects in batch (obviously this won't work for a lazy
clone that lazily fetches tree objects as you cannot even enumerate
what blobs are missing until you learn which trees are missing).

* The pretend-object mechanism checks if the given object already
exists in the object store before deciding to keep the data
in-core, but the check would have triggered lazy fetching of such
an object from a promissor remote.

* The argv_array API is useful for not just managing argv but any
"vector" (NULL-terminated array) of strings, and has seen adoption
to a certain degree. It has been renamed to "strvec" to reduce the
barrier to adoption.

* The final leg of SHA-256 transition.

* CMake support to build with MSVC for Windows bypassing the Makefile.

* A new helper function has_object() has been introduced to make it
easier to mark object existence checks that do and don't want to
trigger lazy fetches, and a few such checks are converted using it.

* A no-op replacement function implemented as a C preprocessor macro
does not perform as good a job as one implemented as a "static
inline" function in catching errors in parameters; replace the
former with the latter in <git-compat-util.h> header.

* Test framework update.
(merge d572f52a64 es/test-cmp-typocatcher later to maint).


Fixes since v2.28
-----------------

* "git clone --separate-git-dir=$elsewhere" used to stomp on the
contents of the existing directory $elsewhere, which has been
taught to fail when $elsewhere is not an empty directory.
(merge dfaa209a79 bw/fail-cloning-into-non-empty later to maint).

* With the base fix to 2.27 regresion, any new extensions in a v0
repository would still be silently honored, which is not quite
right. Instead, complain and die loudly.
(merge ec91ffca04 jk/reject-newer-extensions-in-v0 later to maint).

* Fetching from a lazily cloned repository resulted at the server
side in attempts to lazy fetch objects that the client side has,
many of which will not be available from the third-party anyway.
(merge 77aa0941ce jt/avoid-lazy-fetching-upon-have-check later to maint).

* Fix to an ancient bug caused by an over-eager attempt for
optimization.
(merge a98f7fb366 rs/add-index-entry-optim-fix later to maint).

* Pushing a ref whose name contains non-ASCII character with the
"--force-with-lease" option did not work over smart HTTP protocol,
which has been corrected.
(merge cd85b447bf bc/push-cas-cquoted-refname later to maint).

* "git mv src dst", when src is an unmerged path, errored out
correctly but with an incorrect error message to claim that src is
not tracked, which has been clarified.
(merge 9b906af657 ct/mv-unmerged-path-error later to maint).

* Fix to a regression introduced during 2.27 cycle.
(merge cada7308ad en/fill-directory-exponential later to maint).

* Command line completion (in contrib/) update.
(merge 688b87c81b mp/complete-show-color-moved later to maint).

* All "mergy" operations that internally use the merge-recursive
machinery should honor the merge.renormalize configuration, but
many of them didn't.

* Doc cleanup around "worktree".
(merge dc9c144be5 es/worktree-doc-cleanups later to maint).

* The "git blame --first-parent" option was not documented, but now
it is.
(merge 11bc12ae1e rp/blame-first-parent-doc later to maint).

* The logic to find the ref transaction hook script attempted to
cache the path to the found hook without realizing that it needed
to keep a copied value, as the API it used returned a transitory
buffer space. This has been corrected.
(merge 09b2aa30c9 ps/ref-transaction-hook later to maint).

* Recent versions of "git diff-files" shows a diff between the index
and the working tree for "intent-to-add" paths as a "new file"
patch; "git apply --cached" should be able to take "git diff-files"
and should act as an equivalent to "git add" for the path, but the
command failed to do so for such a path.
(merge 4c025c667e rp/apply-cached-with-i-t-a later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge 84544f2ea3 sk/typofixes later to maint).
(merge b17f411ab5 ar/help-guides-doc later to maint).
(merge 98c6871fad rs/grep-simpler-parse-object-or-die-call later to maint).
(merge 861c4ce141 en/typofixes later to maint).
(merge 60e47f6773 sg/ci-git-path-fix-with-pyenv later to maint).
(merge e2bfa50ac3 jb/doc-packfile-name later to maint).
(merge 918d8ff780 es/worktree-cleanup later to maint).
(merge dc156bc31f ma/t1450-quotefix later to maint).
(merge 56e743426b en/merge-recursive-comment-fixes later to maint).
(merge 7d23ff818f rs/bisect-oid-to-hex-fix later to maint).
(merge de20baf2c9 ny/notes-doc-sample-update later to maint).
(merge f649aaaf82 so/rev-parser-errormessage-fix later to maint).
(merge 6103d58b7f bc/sha-256-cvs-svn-updates later to maint).
(merge ac900fddb7 ma/stop-progress-null-fix later to maint).
6 changes: 6 additions & 0 deletions Documentation/blame-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ include::line-range-format.txt[]
START. `git blame --reverse START` is taken as `git blame
--reverse START..HEAD` for convenience.

--first-parent::
Follow only the first parent commit upon seeing a merge
commit. This option can be used to determine when a line
was introduced to a particular integration branch, rather
than when it was introduced to the history overall.

-p::
--porcelain::
Show in a format designed for machine consumption.
Expand Down
27 changes: 14 additions & 13 deletions Documentation/cmd-list.perl
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,14 @@ sub format_one {
my ($out, $nameattr) = @_;
my ($name, $attr) = @$nameattr;
my ($state, $description);
my $mansection;
$state = 0;
open I, '<', "$name.txt" or die "No such file $name.txt";
while (<I>) {
if (/^git[a-z0-9-]*\(([0-9])\)$/) {
$mansection = $1;
next;
}
if (/^NAME$/) {
$state = 1;
next;
Expand All @@ -27,7 +32,7 @@ sub format_one {
die "No description found in $name.txt";
}
if (my ($verify_name, $text) = ($description =~ /^($name) - (.*)/)) {
print $out "linkgit:$name\[1\]::\n\t";
print $out "linkgit:$name\[$mansection\]::\n\t";
if ($attr =~ / deprecated /) {
print $out "(deprecated) ";
}
Expand All @@ -38,30 +43,26 @@ sub format_one {
}
}

while (<>) {
my ($input, @categories) = @ARGV;

open IN, "<$input";
while (<IN>) {
last if /^### command list/;
}

my %cmds = ();
for (sort <>) {
for (sort <IN>) {
next if /^#/;

chomp;
my ($name, $cat, $attr) = /^(\S+)\s+(.*?)(?:\s+(.*))?$/;
$attr = '' unless defined $attr;
push @{$cmds{$cat}}, [$name, " $attr "];
}
close IN;

for my $cat (qw(ancillaryinterrogators
ancillarymanipulators
mainporcelain
plumbinginterrogators
plumbingmanipulators
synchingrepositories
foreignscminterface
purehelpers
synchelpers)) {
my $out = "cmds-$cat.txt";
for my $out (@categories) {
my ($cat) = $out =~ /^cmds-(.*)\.txt$/;
open O, '>', "$out+" or die "Cannot open output file $out+";
for (@{$cmds{$cat}}) {
format_one(\*O, $_);
Expand Down
2 changes: 2 additions & 0 deletions Documentation/config.txt
Original file line number Diff line number Diff line change
Expand Up @@ -348,6 +348,8 @@ include::config/diff.txt[]

include::config/difftool.txt[]

include::config/extensions.txt[]

include::config/fastimport.txt[]

include::config/feature.txt[]
Expand Down
8 changes: 8 additions & 0 deletions Documentation/config/extensions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
extensions.objectFormat::
Specify the hash algorithm to use. The acceptable values are `sha1` and
`sha256`. If not specified, `sha1` is assumed. It is an error to specify
this key unless `core.repositoryFormatVersion` is 1.
+
Note that this setting should only be set by linkgit:git-init[1] or
linkgit:git-clone[1]. Trying to change it after initialization will not
work and will produce hard-to-diagnose issues.
12 changes: 12 additions & 0 deletions Documentation/config/fmt-merge-msg.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,15 @@ merge.log::
most the specified number of one-line descriptions from the
actual commits that are being merged. Defaults to false, and
true is a synonym for 20.

merge.suppressDest::
By adding a glob that matches the names of integration
branches to this multi-valued configuration variable, the
default merge message computed for merges into these
integration branches will omit " into <branch name>" from
its title.
+
An element with an empty value can be used to clear the list
of globs accumulated from previous configuration entries.
When there is no `merge.suppressDest` variable defined, the
default value of `master` is used for backward compatibility.
5 changes: 5 additions & 0 deletions Documentation/config/sendemail.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,8 @@ sendemail.smtpBatchSize::
sendemail.smtpReloginDelay::
Seconds wait before reconnecting to smtp server.
See also the `--relogin-delay` option of linkgit:git-send-email[1].

sendemail.forbidSendmailVariables::
To avoid common misconfiguration mistakes, linkgit:git-send-email[1]
will abort with a warning if any configuration options for "sendmail"
exist. Set this variable to bypass the check.
18 changes: 18 additions & 0 deletions Documentation/config/uploadpack.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,24 @@ uploadpack.allowFilter::
If this option is set, `upload-pack` will support partial
clone and partial fetch object filtering.

uploadpackfilter.allow::
Provides a default value for unspecified object filters (see: the
below configuration variable).
Defaults to `true`.

uploadpackfilter.<filter>.allow::
Explicitly allow or ban the object filter corresponding to
`<filter>`, where `<filter>` may be one of: `blob:none`,
`blob:limit`, `tree`, `sparse:oid`, or `combine`. If using
combined filters, both `combine` and all of the nested filter
kinds must be allowed. Defaults to `uploadpackfilter.allow`.

uploadpackfilter.tree.maxDepth::
Only allow `--filter=tree=<n>` when `n` is no more than the value of
`uploadpackfilter.tree.maxDepth`. If set, this also implies
`uploadpackfilter.tree.allow=true`, unless this configuration
variable had already been set. Has no effect if unset.

uploadpack.allowRefInWant::
If this option is set, `upload-pack` will support the `ref-in-want`
feature of the protocol version 2 `fetch` command. This feature
Expand Down
5 changes: 5 additions & 0 deletions Documentation/diff-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,11 @@ ifndef::git-format-patch[]
Synonym for `-p --raw`.
endif::git-format-patch[]

ifdef::git-log[]
-t::
Show the tree objects in the diff output.
endif::git-log[]

--indent-heuristic::
Enable the heuristic that shifts diff hunk boundaries to make patches
easier to read. This is the default.
Expand Down
9 changes: 9 additions & 0 deletions Documentation/fetch-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ documented in linkgit:git-config[1].
--dry-run::
Show what would be done, without making any changes.

ifndef::git-pull[]
--[no-]write-fetch-head::
Write the list of remote refs fetched in the `FETCH_HEAD`
file directly under `$GIT_DIR`. This is the default.
Passing `--no-write-fetch-head` from the command line tells
Git not to write the file. Under `--dry-run` option, the
file is never written.
endif::git-pull[]

-f::
--force::
When 'git fetch' is used with `<src>:<dst>` refspec it may
Expand Down
13 changes: 12 additions & 1 deletion Documentation/git-bisect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ The command takes various subcommands, and different options depending
on the subcommand:

git bisect start [--term-{old,good}=<term> --term-{new,bad}=<term>]
[--no-checkout] [<bad> [<good>...]] [--] [<paths>...]
[--no-checkout] [--first-parent] [<bad> [<good>...]] [--] [<paths>...]
git bisect (bad|new|<term-new>) [<rev>]
git bisect (good|old|<term-old>) [<rev>...]
git bisect terms [--term-good | --term-bad]
Expand Down Expand Up @@ -365,6 +365,17 @@ does not require a checked out tree.
+
If the repository is bare, `--no-checkout` is assumed.

--first-parent::
+
Follow only the first parent commit upon seeing a merge commit.
+
In detecting regressions introduced through the merging of a branch, the merge
commit will be identified as introduction of the bug and its ancestors will be
ignored.
+
This option is particularly useful in avoiding false positives when a merged
branch contained broken or non-buildable commits, but the merge itself was OK.

EXAMPLES
--------

Expand Down
Loading