sha1-name.c: remove the_repo from get_oid_1()
[git.git] / Documentation / RelNotes / 2.22.0.txt
blobca774e8388d58eb270f5003108cdf110dd145fa7
1 Git 2.22 Release Notes
2 ======================
4 Updates since v2.21
5 -------------------
7 UI, Workflows & Features
9  * "git checkout --no-overlay" can be used to trigger a new mode of
10    checking out paths out of the tree-ish, that allows paths that
11    match the pathspec that are in the current index and working tree
12    and are not in the tree-ish.
14  * The %(trailers) formatter in "git log --format=..."  now allows to
15    optionally pick trailers selectively by keyword, show only values,
16    etc.
18  * Four new configuration variables {author,committer}.{name,email}
19    have been introduced to override user.{name,email} in more specific
20    cases.
22  * Command-line completion (in contrib/) learned to tab-complete the
23    "git submodule absorbgitdirs" subcommand.
25  * "git branch" learned a new subcommand "--show-current".
27  * Output from "diff --cc" did not show the original paths when the
28    merge involved renames.  A new option adds the paths in the
29    original trees to the output.
31  * The command line completion (in contrib/) has been taught to
32    complete more subcommand parameters.
34  * The final report from "git bisect" used to show the suspected
35    culprit using a raw "diff-tree", with which there is no output for
36    a merge commit.  This has been updated to use a more modern and
37    human readable output that still is concise enough.
40 Performance, Internal Implementation, Development Support etc.
42  * The diff machinery, one of the oldest parts of the system, which
43    long predates the parse-options API, uses fairly long and complex
44    handcrafted option parser.  This is being rewritten to use the
45    parse-options API.
47  * The implementation of pack-redundant has been updated for
48    performance in a repository with many packfiles.
50  * A more structured way to obtain execution trace has been added.
52  * "git prune" has been taught to take advantage of reachability
53    bitmap when able.
55  * The command line parser of "git commit-tree" has been rewritten to
56    use the parse-options API.
59 Fixes since v2.21
60 -----------------
62  * "git prune-packed" did not notice and complain against excess
63    arguments given from the command line, which now it does.
64    (merge 9b0bd87ed2 rj/prune-packed-excess-args later to maint).
66  * Split-index fix.
67    (merge 6e37c8ed3c nd/split-index-null-base-fix later to maint).
69  * "git diff --no-index" may still want to access Git goodies like
70    --ext-diff and --textconv, but so far these have been ignored,
71    which has been corrected.
72    (merge 287ab28bfa jk/diff-no-index-initialize later to maint).
74  * Unify RPC code for smart http in protocol v0/v1 and v2, which fixes
75    a bug in the latter (lack of authentication retry) and generally
76    improves the code base.
77    (merge a97d00799a jt/http-auth-proto-v2-fix later to maint).
79  * The include file compat/bswap.h has been updated so that it is safe
80    to (accidentally) include it more than once.
81    (merge 33aa579a55 jk/guard-bswap-header later to maint).
83  * The set of header files used by "make hdr-check" unconditionally
84    included sha256/gcrypt.h, even when it is not used, causing the
85    make target to fail.  We now skip it when GCRYPT_SHA256 is not in
86    use.
87    (merge f23aa18e7f rj/hdr-check-gcrypt-fix later to maint).
89  * The Makefile uses 'find' utility to enumerate all the *.h header
90    files, which is expensive on platforms with slow filesystems; it
91    now optionally uses "ls-files" if working within a repository,
92    which is a trick similar to how all sources are enumerated to run
93    ETAGS on.
94    (merge 92b88eba9f js/find-lib-h-with-ls-files-when-possible later to maint).
96  * "git rebase" that was reimplemented in C did not set ORIG_HEAD
97    correctly, which has been corrected.
98    (merge cbd29ead92 js/rebase-orig-head-fix later to maint).
100  * Dev support.
101    (merge f545737144 js/stress-test-ui-tweak later to maint).
103  * CFLAGS now can be tweaked when invoking Make while using
104    DEVELOPER=YesPlease; this did not work well before.
105    (merge 6d5d4b4e93 ab/makefile-help-devs-more later to maint).
107  * "git fsck --connectivity-only" omits computation necessary to sift
108    the objects that are not reachable from any of the refs into
109    unreachable and dangling.  This is now enabled when dangling
110    objects are requested (which is done by default, but can be
111    overridden with the "--no-dangling" option).
112    (merge 8d8c2a5aef jk/fsck-doc later to maint).
114  * On platforms where "git fetch" is killed with SIGPIPE (e.g. OSX),
115    the upload-pack that runs on the other end that hangs up after
116    detecting an error could cause "git fetch" to die with a signal,
117    which led to a flakey test.  "git fetch" now ignores SIGPIPE during
118    the network portion of its operation (this is not a problem as we
119    check the return status from our write(2)s).
120    (merge 143588949c jk/no-sigpipe-during-network-transport later to maint).
122  * A recent update broke "is this object available to us?" check for
123    well-known objects like an empty tree (which should yield "yes",
124    even when there is no on-disk object for an empty tree), which has
125    been corrected.
126    (merge f06ab027ef jk/virtual-objects-do-exist later to maint).
128  * The setup code has been cleaned up to avoid leaks around the
129    repository_format structure.
130    (merge e8805af1c3 ma/clear-repository-format later to maint).
132  * "git config --type=color ..." is meant to replace "git config --get-color"
133    but there is a slight difference that wasn't documented, which is
134    now fixed.
135    (merge cd8e7593b9 jk/config-type-color-ends-with-lf later to maint).
137  * Code cleanup, docfix, build fix, etc.
138    (merge 11f470aee7 jc/test-yes-doc later to maint).
139    (merge 90503a240b js/doc-symref-in-proto-v1 later to maint).
140    (merge 5c326d1252 jk/unused-params later to maint).
141    (merge 68cabbfda3 dl/doc-submodule-wo-subcommand later to maint).
142    (merge 9903623761 ab/receive-pack-use-after-free-fix later to maint).
143    (merge 1ede45e44b en/merge-options-doc later to maint).
144    (merge 3e14dd2c8e rd/doc-hook-used-in-sample later to maint).
145    (merge c271dc28fd nd/no-more-check-racy later to maint).
146    (merge e6e15194a8 yb/utf-16le-bom-spellfix later to maint).
147    (merge bb101aaf0c rd/attr.c-comment-typofix later to maint).
148    (merge 716a5af812 rd/gc-prune-doc-fix later to maint).
149    (merge 50b206371d js/untravis-windows later to maint).
150    (merge dbf47215e3 js/rebase-recreate-merge later to maint).