Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TEST] Make ORT the default merge strategy #400

Closed
wants to merge 137 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
15f3e1e
t6423: rename file within directory that other side renamed
newren May 4, 2021
edc2384
test-lib: bring $remove_trash out of retirement
avar May 10, 2021
b57913f
test-lib tests: remove dead GIT_TEST_FRAMEWORK_SELFTEST variable
avar May 10, 2021
cb8fb7f
test-lib-functions: reword "test_commit --append" docs
avar May 10, 2021
5144219
test-lib-functions: document test_commit --no-tag
avar May 10, 2021
6cf8d96
test-lib functions: add an --annotated option to "test_commit"
avar May 10, 2021
8cfe386
describe tests: convert setup to use test_commit
avar May 10, 2021
47c88d1
test-lib functions: add --printf option to test_commit
avar May 10, 2021
ba7d318
submodule tests: use symbolic-ref --short to discover branch name
avar May 10, 2021
04d12d6
test-lib: reformat argument list in test_create_repo()
avar May 10, 2021
97c8aac
test-lib: do not show advice about init.defaultBranch under --verbose
avar May 10, 2021
f0d4d39
test-lib: split up and deprecate test_create_repo()
avar May 10, 2021
0caf20f
ref-filter: add objectsize to used_atom
adlternative May 13, 2021
1197f1a
ref-filter: introduce enum atom_type
adlternative May 13, 2021
a30e43f
merge: don't translate literal commands
alexhenrie May 15, 2021
cd5b33f
git-send-email: add option to specify sendmail command
gpanders May 14, 2021
4901884
stash: don't translate literal commands
alexhenrie May 16, 2021
f5f5a61
submodule: use the imperative mood to describe the --files option
alexhenrie May 16, 2021
72ee47c
mailinfo: don't discard names under 3 characters
edef1c May 16, 2021
bfe35a6
describe-doc: clarify default length of abbreviation
ahockersten May 17, 2021
e2c5993
rev-parse: mark die() messages for translation
wylfen May 17, 2021
3d20ed2
parallel-checkout: send the new object_id algo field to the workers
matheustavares May 17, 2021
68142e1
hashfile: use write_in_full()
derrickstolee May 17, 2021
f302c1e
revisions(7): clarify that most commands take a single revision range
gitster May 18, 2021
aafa5df
xsize_t: avoid implementation defined behavior when len < 0
jrn May 19, 2021
2ca245f
csum-file.h: increase hashfile buffer size
derrickstolee May 18, 2021
410334e
read-cache: use hashfile instead of git_hash_ctx
derrickstolee May 18, 2021
f6e2cd0
read-cache: delete unused hashing methods
derrickstolee May 18, 2021
e22f2da
docs: improve fast-forward in glossary content
robi-y May 19, 2021
6aacb7d
clone: clean up directory after transport_fetch_refs() failure
peff May 19, 2021
ae1a7ee
fetch-pack: signal v2 server that we are done making requests
peff May 19, 2021
09667e9
fetch: improve grammar of "shallow roots" message
alexhenrie May 18, 2021
8013d7d
setup: split "extensions found" messages into singular and plural
alexhenrie May 18, 2021
a84216c
doc: explain the use of color.pager
peff May 19, 2021
bb80333
Documentation/technical: describe remembering renames optimization
newren May 20, 2021
caba91c
fast-rebase: change assert() to BUG()
newren May 20, 2021
f950026
fast-rebase: write conflict state to working tree, index, and HEAD
newren May 20, 2021
a22099f
t6429: testcases for remembering renames
newren May 20, 2021
d29bd6d
merge-ort: add data structures for in-memory caching of rename detection
newren May 20, 2021
2734f2e
merge-ort: populate caches of rename detection results
newren May 20, 2021
64aceb6
merge-ort: add code to check for whether cached renames can be reused
newren May 20, 2021
19ceb48
merge-ort: avoid accidental API mis-use
newren May 20, 2021
d509802
merge-ort: preserve cached renames for the appropriate side
newren May 20, 2021
86b41b3
merge-ort: add helper functions for using cached renames
newren May 20, 2021
cbdca28
merge-ort: handle interactions of caching and rename/rename(1to1) cases
newren May 20, 2021
25e65b6
merge-ort, diffcore-rename: employ cached renames when possible
newren May 20, 2021
4e0a64a
trace2: refactor to avoid gcc warning under -O3
avar May 20, 2021
225f7fa
help: fix small typo in error message
jnavila May 20, 2021
7a55fa0
t4013: test that "-m" alone has no effect in "git log"
sorganov May 20, 2021
48229c1
t4013: test "git log -m --raw"
sorganov May 20, 2021
faf16d4
t4013: test "git log -m --stat"
sorganov May 20, 2021
3ae7fe2
t4013: test "git diff-tree -m"
sorganov May 20, 2021
e0b1642
t4013: test "git diff-index -m"
sorganov May 20, 2021
19b2517
diff-merges: move specific diff-index "-m" handling to diff-index
sorganov May 20, 2021
23f6d40
git-svn: stop passing "-m" to "git rev-list"
sorganov May 20, 2021
1e20a40
stash list: stop passing "-m" to "git log"
sorganov May 20, 2021
fd16a39
diff-merges: rename "combined_imply_patch" to "merges_imply_patch"
sorganov May 20, 2021
f5bfcc8
diff-merges: let "-m" imply "-p"
sorganov May 20, 2021
5317dfe
t: use configured TAR instead of tar
sgn May 22, 2021
12d078e
doc: refactor common asciidoc dependencies
felipec May 21, 2021
56da213
doc: improve asciidoc dependencies
felipec May 21, 2021
471e7b2
doc: remove unnecessary rm instances
felipec May 21, 2021
db10fc6
doc: simplify Makefile using .DELETE_ON_ERROR
felipec May 21, 2021
7ba3016
doc: avoid using rm directly
felipec May 21, 2021
3127ff9
packfile-uri.txt: fix blobPackfileUri description
dyrone May 13, 2021
26b25e0
Merge branch 'ef/mailinfo-short-name'
gitster Jun 10, 2021
bb6a63a
Merge branch 'mt/parallel-checkout-with-padded-oidcpy'
gitster Jun 10, 2021
d6e35a2
Merge branch 'jn/size-t-casted-to-off-t-fix'
gitster Jun 10, 2021
b03709e
Merge branch 'ah/merge-usage-i18n-fix'
gitster Jun 10, 2021
ce885c5
Merge branch 'ah/stash-usage-i18n-fix'
gitster Jun 10, 2021
f44416c
Merge branch 'ah/submodule-helper-module-summary-parseopt'
gitster Jun 10, 2021
d8c6dc2
Merge branch 'ah/doc-describe'
gitster Jun 10, 2021
b009fd4
Merge branch 'jc/clarify-revision-range'
gitster Jun 10, 2021
e4b5d2a
Merge branch 'wm/rev-parse-die-i18n'
gitster Jun 10, 2021
7f06d94
Merge branch 'ry/clarify-fast-forward-in-glossary'
gitster Jun 10, 2021
8e1d2fc
Merge branch 'tl/fix-packfile-uri-doc'
gitster Jun 10, 2021
7ce7a61
Merge branch 'jk/doc-color-pager'
gitster Jun 10, 2021
3153c83
Merge branch 'ah/fetch-reject-warning-grammofix'
gitster Jun 10, 2021
ccf0378
Merge branch 'ah/setup-extensions-message-i18n-fix'
gitster Jun 10, 2021
211eca0
The first batch post Git 2.32
gitster Jun 10, 2021
289af16
Merge branch 'zh/ref-filter-atom-type'
gitster Jun 14, 2021
1359972
Merge branch 'ga/send-email-sendmail-cmd'
gitster Jun 14, 2021
f4f7304
Merge branch 'jk/clone-clean-upon-transport-error'
gitster Jun 14, 2021
0dd2fd1
Merge branch 'ds/write-index-with-hashfile-api'
gitster Jun 14, 2021
4dd75a1
Merge branch 'jk/fetch-pack-v2-half-close-early'
gitster Jun 14, 2021
169914e
Merge branch 'en/ort-perf-batch-11'
gitster Jun 14, 2021
8e444e6
Merge branch 'so/log-m-implies-p'
gitster Jun 14, 2021
ac21586
Merge branch 'ab/trace2-squelch-gcc-warning'
gitster Jun 14, 2021
d9d3b76
Merge branch 'ps/rev-list-object-type-filter'
gitster Jun 14, 2021
c189dba
Merge branch 'dd/honor-users-tar-in-tests'
gitster Jun 14, 2021
2019256
Merge branch 'ab/test-lib-updates'
gitster Jun 14, 2021
98f3f03
Merge branch 'fc/doc-build-cleanup'
gitster Jun 14, 2021
670b81a
The second batch
gitster Jun 14, 2021
fc6609d
sparse-index: skip indexes with unmerged entries
derrickstolee Jul 14, 2021
4741077
sparse-index: include EXTENDED flag when expanding
derrickstolee Jul 14, 2021
3d814b5
t1092: replace incorrect 'echo' with 'cat'
derrickstolee Jul 14, 2021
e669ffb
t1092: expand repository data shape
derrickstolee Jul 14, 2021
bf26c06
t1092: add tests for status/add and sparse files
derrickstolee Jul 14, 2021
17a1bb5
unpack-trees: preserve cache_bottom
derrickstolee Jul 14, 2021
cd807a5
unpack-trees: compare sparse directories correctly
derrickstolee Jul 14, 2021
bd6a3fd
unpack-trees: rename unpack_nondirectories()
derrickstolee Jul 14, 2021
523506d
unpack-trees: unpack sparse directory entries
derrickstolee Jul 14, 2021
69bdbdb
dir.c: accept a directory as part of cone-mode patterns
derrickstolee Jul 14, 2021
9eb00af
diff-lib: handle index diffs with sparse dirs
derrickstolee Jul 14, 2021
bf48e5a
status: skip sparse-checkout percentage with sparse-index
derrickstolee Jul 14, 2021
d76723e
status: use sparse-index throughout
derrickstolee Jul 14, 2021
fe0d576
wt-status: expand added sparse directory entries
derrickstolee Jul 14, 2021
f8fe49e
fsmonitor: integrate with sparse index
derrickstolee Jul 14, 2021
e5ca291
t1092: document bad sparse-checkout behavior
derrickstolee Jul 14, 2021
6e74958
p2000: add 'git checkout -' test and decrease depth
derrickstolee Jun 1, 2021
3e1d03c
p2000: compress repo names
derrickstolee Jun 7, 2021
cd94f82
commit: integrate with sparse-index
derrickstolee May 17, 2021
65e79b8
sparse-index: recompute cache-tree
derrickstolee Jun 22, 2021
e9a9981
checkout: stop expanding sparse indexes
derrickstolee May 25, 2021
4b801c8
t1092: document bad 'git checkout' behavior
derrickstolee Jul 19, 2021
71e3015
unpack-trees: resolve sparse-directory/file conflicts
derrickstolee Jul 19, 2021
8f2fd93
t1092: test merge conflicts outside cone
derrickstolee Jul 21, 2021
6e43f11
add: allow operating on a sparse-only index
derrickstolee Jan 12, 2021
2ae91e0
pathspec: stop calling ensure_full_index
derrickstolee Jan 12, 2021
a79728d
add: ignore outside the sparse-checkout in refresh()
derrickstolee Jun 29, 2021
1543550
add: remove ensure_full_index() with --renormalize
derrickstolee Jul 26, 2021
90dacd6
sparse-index: silently return when not using cone-mode patterns
derrickstolee Jun 21, 2021
002a44a
sparse-index: silently return when cache tree fails
derrickstolee Jun 23, 2021
ec61bc5
sparse-index: use WRITE_TREE_MISSING_OK when updating cache-tree
derrickstolee Jun 25, 2021
a3415bc
unpack-trees: fix nested sparse-dir search
derrickstolee Jul 5, 2021
6bfa920
t7519: rewrite sparse index test
derrickstolee Jul 5, 2021
2d294ed
sparse-checkout: clear tracked sparse dirs
derrickstolee Jul 4, 2021
35e7978
t1092: use ORT merge strategy
derrickstolee Jul 26, 2021
0acbbd6
sparse-checkout: create helper methods
derrickstolee Jul 26, 2021
3b24580
attr: be careful about sparse directories
derrickstolee Jul 26, 2021
15d9ae1
diff: ignore sparse paths in diffstat
derrickstolee Jul 26, 2021
fda3709
merge: make sparse-aware with ORT
derrickstolee Jul 26, 2021
6d09074
t1092: add cherry-pick, rebase tests
derrickstolee Jul 26, 2021
efc0bf7
sparse-index: integrate with cherry-pick and rebase
derrickstolee Jul 26, 2021
0224adb
Merge branch 'sparse-index/merge' into sparse-index/merge-vfs
derrickstolee Jul 27, 2021
f36b3ff
fixup! t1092: use ORT merge strategy
derrickstolee Jul 27, 2021
4f48196
merge-ort: expand only for out-of-cone conflicts
derrickstolee Jul 28, 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
77 changes: 29 additions & 48 deletions Documentation/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@ ASCIIDOC_CONF = -f asciidoc.conf
ASCIIDOC_COMMON = $(ASCIIDOC) $(ASCIIDOC_EXTRA) $(ASCIIDOC_CONF) \
-amanversion=$(GIT_VERSION) \
-amanmanual='Git Manual' -amansource='Git'
ASCIIDOC_DEPS = asciidoc.conf GIT-ASCIIDOCFLAGS
TXT_TO_HTML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_HTML)
TXT_TO_XML = $(ASCIIDOC_COMMON) -b $(ASCIIDOC_DOCBOOK)
MANPAGE_XSL = manpage-normal.xsl
Expand Down Expand Up @@ -193,6 +194,7 @@ ASCIIDOC_DOCBOOK = docbook5
ASCIIDOC_EXTRA += -acompat-mode -atabsize=8
ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
ASCIIDOC_EXTRA += -alitdd='&\#x2d;&\#x2d;'
ASCIIDOC_DEPS = asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
DBLATEX_COMMON =
XMLTO_EXTRA += --skip-validation
XMLTO_EXTRA += -x manpage.xsl
Expand Down Expand Up @@ -294,9 +296,7 @@ docdep_prereqs = \
cmd-list.made $(cmds_txt)

doc.dep : $(docdep_prereqs) $(DOC_DEP_TXT) build-docdep.perl
$(QUIET_GEN)$(RM) $@+ $@ && \
$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
mv $@+ $@
$(QUIET_GEN)$(PERL_PATH) ./build-docdep.perl >$@ $(QUIET_STDERR)

ifneq ($(MAKECMDGOALS),clean)
-include doc.dep
Expand All @@ -316,16 +316,15 @@ cmds_txt = cmds-ancillaryinterrogators.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 $(cmds_txt) $(QUIET_STDERR) && \
$(QUIET_GEN)$(PERL_PATH) ./cmd-list.perl ../command-list.txt $(cmds_txt) $(QUIET_STDERR) && \
date >$@

mergetools_txt = mergetools-diff.txt mergetools-merge.txt

$(mergetools_txt): mergetools-list.made

mergetools-list.made: ../git-mergetool--lib.sh $(wildcard ../mergetools/*)
$(QUIET_GEN)$(RM) $@ && \
$(QUIET_GEN) \
$(SHELL_PATH) -c 'MERGE_TOOLS_DIR=../mergetools && \
. ../git-mergetool--lib.sh && \
show_tool_names can_diff "* " || :' >mergetools-diff.txt && \
Expand Down Expand Up @@ -354,32 +353,23 @@ clean:
$(RM) manpage-base-url.xsl
$(RM) GIT-ASCIIDOCFLAGS

$(MAN_HTML): %.html : %.txt asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_HTML) -d manpage -o $@+ $< && \
mv $@+ $@
$(MAN_HTML): %.html : %.txt $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -d manpage -o $@ $<

$(OBSOLETE_HTML): %.html : %.txto asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_HTML) -o $@+ $< && \
mv $@+ $@
$(OBSOLETE_HTML): %.html : %.txto $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) -o $@ $<

manpage-base-url.xsl: manpage-base-url.xsl.in
$(QUIET_GEN)sed "s|@@MAN_BASE_URL@@|$(MAN_BASE_URL)|" $< > $@

%.1 %.5 %.7 : %.xml manpage-base-url.xsl $(wildcard manpage*.xsl)
$(QUIET_XMLTO)$(RM) $@ && \
$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
$(QUIET_XMLTO)$(XMLTO) -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<

%.xml : %.txt asciidoc.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_XML) -d manpage -o $@+ $< && \
mv $@+ $@
%.xml : %.txt $(ASCIIDOC_DEPS)
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d manpage -o $@ $<

user-manual.xml: user-manual.txt user-manual.conf asciidoctor-extensions.rb GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(TXT_TO_XML) -d book -o $@+ $< && \
mv $@+ $@
$(QUIET_ASCIIDOC)$(TXT_TO_XML) -d book -o $@ $<

technical/api-index.txt: technical/api-index-skel.txt \
technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
Expand All @@ -400,46 +390,35 @@ XSLTOPTS += --stringparam html.stylesheet docbook-xsl.css
XSLTOPTS += --param generate.consistent.ids 1

user-manual.html: user-manual.xml $(XSLT)
$(QUIET_XSLTPROC)$(RM) $@+ $@ && \
xsltproc $(XSLTOPTS) -o $@+ $(XSLT) $< && \
mv $@+ $@
$(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<

git.info: user-manual.texi
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ user-manual.texi

user-manual.texi: user-manual.xml
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \
$(PERL_PATH) fix-texi.perl <$@++ >$@+ && \
rm $@++ && \
mv $@+ $@
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) user-manual.xml --encoding=UTF-8 --to-stdout >$@+ && \
$(PERL_PATH) fix-texi.perl <$@+ >$@ && \
$(RM) $@+

user-manual.pdf: user-manual.xml
$(QUIET_DBLATEX)$(RM) $@+ $@ && \
$(DBLATEX) -o $@+ $(DBLATEX_COMMON) $< && \
mv $@+ $@
$(QUIET_DBLATEX)$(DBLATEX) -o $@ $(DBLATEX_COMMON) $<

gitman.texi: $(MAN_XML) cat-texi.perl texi.xsl
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
$(QUIET_DB2TEXI) \
($(foreach xml,$(sort $(MAN_XML)),xsltproc -o $(xml)+ texi.xsl $(xml) && \
$(DOCBOOK2X_TEXI) --encoding=UTF-8 --to-stdout $(xml)+ && \
rm $(xml)+ &&) true) > $@++ && \
$(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \
rm $@++ && \
mv $@+ $@
$(RM) $(xml)+ &&) true) > $@+ && \
$(PERL_PATH) cat-texi.perl $@ <$@+ >$@ && \
$(RM) $@+

gitman.info: gitman.texi
$(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi

$(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
$(QUIET_DB2TEXI)$(RM) $@+ $@ && \
$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \
mv $@+ $@
$(QUIET_DB2TEXI)$(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@

howto-index.txt: howto-index.sh $(HOWTO_TXT)
$(QUIET_GEN)$(RM) $@+ $@ && \
'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@+ && \
mv $@+ $@
$(QUIET_GEN)'$(SHELL_PATH_SQ)' ./howto-index.sh $(sort $(HOWTO_TXT)) >$@

$(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
$(QUIET_ASCIIDOC)$(TXT_TO_HTML) $*.txt
Expand All @@ -448,10 +427,9 @@ WEBDOC_DEST = /pub/software/scm/git/docs

howto/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
$(patsubst %.txt,%.html,$(HOWTO_TXT)): %.html : %.txt GIT-ASCIIDOCFLAGS
$(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
$(QUIET_ASCIIDOC) \
sed -e '1,/^$$/d' $< | \
$(TXT_TO_HTML) - >$@+ && \
mv $@+ $@
$(TXT_TO_HTML) - >$@

install-webdoc : html
'$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
Expand Down Expand Up @@ -492,4 +470,7 @@ doc-l10n install-l10n::
$(MAKE) -C po $@
endif

# Delete the target file on error
.DELETE_ON_ERROR:

.PHONY: FORCE
78 changes: 78 additions & 0 deletions Documentation/RelNotes/2.33.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
Git 2.33 Release Notes
======================

Backward compatibility notes
----------------------------

* The "-m" option in "git log -m" that does not specify which format,
if any, of diff is desired did not have any visible effect; it now
implies some form of diff (by default "--patch") is produced.

You can disable the diff output with "git log -m --no-patch", but
then there probably isn't much point in passing "-m" in the first
place ;-).


Updates since Git 2.32
----------------------

UI, Workflows & Features

* "git send-email" learned the "--sendmail-cmd" command line option
and the "sendemail.sendmailCmd" configuration variable, which is a
more sensible approach than the current way of repurposing the
"smtp-server" that is meant to name the server to instead name the
command to talk to the server.

* The "-m" option in "git log -m" that does not specify which format,
if any, of diff is desired did not have any visible effect; it now
implies some form of diff (by default "--patch") is produced.


Performance, Internal Implementation, Development Support etc.

* The code to handle the "--format" option in "for-each-ref" and
friends made too many string comparisons on %(atom)s used in the
format string, which has been corrected by converting them into
enum when the format string is parsed.

* Use the hashfile API in the codepath that writes the index file to
reduce code duplication.

* Repeated rename detections in a sequence of mergy operations have
been optimize out.


Fixes since v2.32
-----------------

* We historically rejected a very short string as an author name
while accepting a patch e-mail, which has been loosened.
(merge 72ee47ceeb ef/mailinfo-short-name later to maint).

* The parallel checkout codepath did not initialize object ID field
used to talk to the worker processes in a futureproof way.

* Rewrite code that triggers undefined behaviour warning.
(merge aafa5df0df jn/size-t-casted-to-off-t-fix later to maint).

* The description of "fast-forward" in the glossary has been updated.
(merge e22f2daed0 ry/clarify-fast-forward-in-glossary later to maint).

* Recent "git clone" left a temporary directory behind when the
transport layer returned an failure.
(merge 6aacb7d861 jk/clone-clean-upon-transport-error later to maint).

* "git fetch" over protocol v2 left its side of the socket open after
it finished speaking, which unnecessarily wasted the resource on
the other side.
(merge ae1a7eefff jk/fetch-pack-v2-half-close-early later to maint).

* Other code cleanup, docfix, build fix, etc.
(merge bfe35a6165 ah/doc-describe later to maint).
(merge f302c1e4aa jc/clarify-revision-range later to maint).
(merge 3127ff90ea tl/fix-packfile-uri-doc later to maint).
(merge a84216c684 jk/doc-color-pager later to maint).
(merge 4e0a64a713 ab/trace2-squelch-gcc-warning later to maint).
(merge 225f7fa847 ps/rev-list-object-type-filter later to maint).
(merge 5317dfeaed dd/honor-users-tar-in-tests later to maint).
5 changes: 3 additions & 2 deletions Documentation/config/color.txt
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,9 @@ color.interactive.<slot>::
interactive commands.

color.pager::
A boolean to enable/disable colored output when the pager is in
use (default is true).
A boolean to specify whether `auto` color modes should colorize
output going to the pager. Defaults to true; set this to false
if your pager does not understand ANSI color codes.

color.push::
A boolean to enable/disable color in push errors. May be set to
Expand Down
8 changes: 4 additions & 4 deletions Documentation/diff-options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,9 @@ ifdef::git-log[]
--diff-merges=m:::
-m:::
This option makes diff output for merge commits to be shown in
the default format. `-m` will produce the output only if `-p`
is given as well. The default format could be changed using
the default format. The default format could be changed using
`log.diffMerges` configuration parameter, which default value
is `separate`.
is `separate`. `-m` implies `-p`.
+
--diff-merges=first-parent:::
--diff-merges=1:::
Expand All @@ -62,7 +61,8 @@ 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.
for each parent. This is the format that `-m` produced
historically.
+
--diff-merges=combined:::
--diff-merges=c:::
Expand Down
14 changes: 9 additions & 5 deletions Documentation/git-describe.txt
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,10 @@ OPTIONS
Automatically implies --tags.

--abbrev=<n>::
Instead of using the default 7 hexadecimal digits as the
abbreviated object name, use <n> digits, or as many digits
as needed to form a unique object name. An <n> of 0
Instead of using the default number of hexadecimal digits (which
will vary according to the number of objects in the repository with
a default of 7) of the abbreviated object name, use <n> digits, or
as many digits as needed to form a unique object name. An <n> of 0
will suppress long format, only showing the closest tag.

--candidates=<n>::
Expand Down Expand Up @@ -139,8 +140,11 @@ at the end.

The number of additional commits is the number
of commits which would be displayed by "git log v1.0.4..parent".
The hash suffix is "-g" + unambiguous abbreviation for the tip commit
of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`).
The hash suffix is "-g" + an unambigous abbreviation for the tip commit
of parent (which was `2414721b194453f058079d897d13c4e377f92dc6`). The
length of the abbreviation scales as the repository grows, using the
approximate number of objects in the repository and a bit of math
around the birthday paradox, and defaults to a minimum of 7.
The "g" prefix stands for "git" and is used to allow describing the version of
a software depending on the SCM the software is managed with. This is useful
in an environment where people may use different SCMs.
Expand Down
25 changes: 18 additions & 7 deletions Documentation/git-send-email.txt
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,14 @@ Sending
`sendemail.envelopeSender` configuration variable; if that is
unspecified, choosing the envelope sender is left to your MTA.

--sendmail-cmd=<command>::
Specify a command to run to send the email. The command should
be sendmail-like; specifically, it must support the `-i` option.
The command will be executed in the shell if necessary. Default
is the value of `sendemail.sendmailcmd`. If unspecified, and if
--smtp-server is also unspecified, git-send-email will search
for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH.

--smtp-encryption=<encryption>::
Specify the encryption to use, either 'ssl' or 'tls'. Any other
value reverts to plain SMTP. Default is the value of
Expand Down Expand Up @@ -211,13 +219,16 @@ a password is obtained using 'git-credential'.

--smtp-server=<host>::
If set, specifies the outgoing SMTP server to use (e.g.
`smtp.example.com` or a raw IP address). Alternatively it can
specify a full pathname of a sendmail-like program instead;
the program must support the `-i` option. Default value can
be specified by the `sendemail.smtpServer` configuration
option; the built-in default is to search for `sendmail` in
`/usr/sbin`, `/usr/lib` and $PATH if such program is
available, falling back to `localhost` otherwise.
`smtp.example.com` or a raw IP address). If unspecified, and if
`--sendmail-cmd` is also unspecified, the default is to search
for `sendmail` in `/usr/sbin`, `/usr/lib` and $PATH if such a
program is available, falling back to `localhost` otherwise.
+
For backward compatibility, this option can also specify a full pathname
of a sendmail-like program instead; the program must support the `-i`
option. This method does not support passing arguments or using plain
command names. For those use cases, consider using `--sendmail-cmd`
instead.

--smtp-server-port=<port>::
Specifies a port different from the default port (SMTP
Expand Down
4 changes: 2 additions & 2 deletions Documentation/glossary-content.txt
Original file line number Diff line number Diff line change
Expand Up @@ -146,8 +146,8 @@ current branch integrates with) obviously do not work, as there is no
<<def_revision,revision>> and you are "merging" another
<<def_branch,branch>>'s changes that happen to be a descendant of what
you have. In such a case, you do not make a new <<def_merge,merge>>
<<def_commit,commit>> but instead just update to his
revision. This will happen frequently on a
<<def_commit,commit>> but instead just update your branch to point at the same
revision as the branch you are merging. This will happen frequently on a
<<def_remote_tracking_branch,remote-tracking branch>> of a remote
<<def_repository,repository>>.

Expand Down
23 changes: 23 additions & 0 deletions Documentation/revisions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -260,6 +260,9 @@ any of the given commits.
A commit's reachable set is the commit itself and the commits in
its ancestry chain.

There are several notations to specify a set of connected commits
(called a "revision range"), illustrated below.


Commit Exclusions
~~~~~~~~~~~~~~~~~
Expand Down Expand Up @@ -294,6 +297,26 @@ is a shorthand for 'HEAD..origin' and asks "What did the origin do since
I forked from them?" Note that '..' would mean 'HEAD..HEAD' which is an
empty range that is both reachable and unreachable from HEAD.

Commands that are specifically designed to take two distinct ranges
(e.g. "git range-diff R1 R2" to compare two ranges) do exist, but
they are exceptions. Unless otherwise noted, all "git" commands
that operate on a set of commits work on a single revision range.
In other words, writing two "two-dot range notation" next to each
other, e.g.

$ git log A..B C..D

does *not* specify two revision ranges for most commands. Instead
it will name a single connected set of commits, i.e. those that are
reachable from either B or D but are reachable from neither A or C.
In a linear history like this:

---A---B---o---o---C---D

because A and B are reachable from C, the revision range specified
by these two dotted ranges is a single commit D.


Other <rev>{caret} Parent Shorthand Notations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Three other shorthands exist, particularly useful for merge commits,
Expand Down
Loading