Created
December 9, 2021 20:40
-
-
Save devinrhode2/1284e8ef0052a5f086b2055e72637d8a to your computer and use it in GitHub Desktop.
git stash release notes/changelog
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
git clone --depth=1 https://github.com/git/git | |
Searched "stash" in `Documentation/RelNotes/*.txt` | |
``` | |
190 results - 74 files | |
Documentation/RelNotes/1.5.3.2.txt: | |
13 talking over svn:// protocol. | |
14 | |
15 * git-send-email re-issued the same message-id about 10% of the | |
16 time if you fired off 30 messages within a single second. | |
17 | |
18: * git-stash was not terminating the log message of commits it | |
19 internally creates with LF. | |
20 | |
21 * git-apply failed to check the size of the patch hunk when its | |
22 beginning part matched the remainder of the preimage exactly, | |
23 even though the preimage recorded in the hunk was much larger | |
Documentation/RelNotes/1.5.3.4.txt: | |
27 | |
28 * "git-rebase -i" squash subcommand incorrectly made the | |
29 author of later commit the author of resulting commit, | |
30 instead of taking from the first one in the squashed series. | |
31 | |
32: * "git-stash apply --index" was not documented. | |
33 | |
34 * autoconfiguration learned that "ar" command is found as "gas" on | |
35 some systems. | |
Documentation/RelNotes/1.5.3.5.txt: | |
20 | |
21 * "git-blame" crashed if run during a merge conflict. | |
22 | |
23 * "git-add -i" did not handle single line hunks correctly. | |
24 | |
25: * "git-rebase -i" and "git-stash apply" failed if external diff | |
26 drivers were used for one or more files in a commit. They now | |
27 avoid calling the external diff drivers. | |
28 | |
29 * "git-log --follow" did not work unless diff generation (e.g. -p) | |
30 was also requested. | |
Documentation/RelNotes/1.5.3.txt: | |
37 - "git log --date=<format>" can use more formats: iso8601, rfc2822. | |
38 | |
39 - The hunk header output from "git diff" family can be customized | |
40 with the attributes mechanism. See gitattributes(5) for details. | |
41 | |
42: - "git stash" allows you to quickly save away your work in | |
43 progress and replay it later on an updated state. | |
44 | |
45 - "git rebase" learned an "interactive" mode that let you | |
46 pick and reorder which commits to rebuild. | |
47 | |
Documentation/RelNotes/1.5.4.txt: | |
245 began with '#' and removed excess blank lines. This behavior has | |
246 been made configurable. | |
247 | |
248 * "git commit" has been rewritten in C. | |
249 | |
250: * "git stash random-text" does not create a new stash anymore. It was | |
251: a UI mistake. Use "git stash save random-text", or "git stash" | |
252 (without extra args) for that. | |
253 | |
254: * "git stash clear extra-text" does not clear the whole stash | |
255: anymore. It is tempting to expect "git stash clear stash@{2}" | |
256: to drop only a single named stash entry, and it is rude to | |
257 discard everything when that is asked (but not provided). | |
258 | |
259 * "git prune --expire <time>" can exempt young loose objects from | |
260 getting pruned. | |
261 | |
Documentation/RelNotes/1.5.5.txt: | |
156 interactively. | |
157 | |
158 * "git send-email" learned an easier way to suppress CC | |
159 recipients. | |
160 | |
161: * "git stash" learned "pop" command, that applies the latest stash and | |
162: removes it from the stash, and "drop" command to discard the named | |
163: stash entry. | |
164 | |
165 * "git submodule" learned a new subcommand "summary" to show the | |
166 symmetric difference between the HEAD version and the work tree version | |
167 of the submodule commits. | |
168 | |
Documentation/RelNotes/1.6.0.2.txt: | |
67 * "git log -F --author=author" did not work at all. | |
68 | |
69 * Build procedure for "git shell" that used stub versions of some | |
70 functions and globals was not understood by linkers on some platforms. | |
71 | |
72: * "git stash" was fooled by a stat-dirty but otherwise unmodified paths | |
73 and refused to work until the user refreshed the index. | |
74 | |
75 * "git svn" was broken on Perl before 5.8 with recent fixes to reduce | |
76 use of temporary files. | |
77 | |
Documentation/RelNotes/1.6.0.3.txt: | |
41 thin-pack completion processing under memory pressure. | |
42 | |
43 * "git index-pack" was recently broken and misbehaved when run from inside | |
44 .git/objects/pack/ directory. | |
45 | |
46: * "git stash apply sash@{1}" was fixed to error out. Prior versions | |
47: would have applied stash@{0} incorrectly. | |
48 | |
49: * "git stash apply" now offers a better suggestion on how to continue | |
50 if the working tree is currently dirty. | |
51 | |
52 * "git for-each-ref --format=%(subject)" fixed for commits with no | |
53 newline in the message body. | |
54 | |
Documentation/RelNotes/1.6.0.4.txt: | |
11 * 'git checkout -t -b newbranch' when you are on detached HEAD was broken. | |
12 | |
13 * when we refuse to detect renames because there are too many new or | |
14 deleted files, 'git diff' did not say how many there are. | |
15 | |
16: * 'git push --mirror' tried and failed to push the stash; there is no | |
17 point in sending it to begin with. | |
18 | |
19 * 'git push' did not update the remote tracking reference if the corresponding | |
20 ref on the remote end happened to be already up to date. | |
21 | |
Documentation/RelNotes/1.6.0.txt: | |
115 * A new environment variable GIT_CEILING_DIRECTORIES can be used to stop | |
116 the discovery process of the toplevel of working tree; this may be useful | |
117 when you are working in a slow network disk and are outside any working tree, | |
118 as bash-completion and "git help" may still need to run in these places. | |
119 | |
120: * By default, stash entries never expire. Set reflogexpire in [gc | |
121: "refs/stash"] to a reasonable value to get traditional auto-expiration | |
122 behaviour back | |
123 | |
124 * Longstanding latency issue with bash completion script has been | |
125 addressed. This will need to be backmerged to 'maint' later. | |
126 | |
211 | |
212 * git-send-mail can talk not just over SSL but over TLS now. | |
213 | |
214 * git-shortlog honors custom output format specified with "--pretty=format:". | |
215 | |
216: * "git-stash save" learned --keep-index option. This lets you stash away the | |
217 local changes and bring the changes staged in the index to your working | |
218 tree for examination and testing. | |
219 | |
220: * git-stash also learned branch subcommand to create a new branch out of | |
221: stashed changes. | |
222 | |
223 * git-status gives the remote tracking statistics similar to the way | |
224 git-checkout reports by how many commits your branch is ahead/behind. | |
225 | |
226 * "git-svn dcommit" is now aware of auto-props setting the subversion user | |
Documentation/RelNotes/1.6.5.txt: | |
91 of an incoming e-mail. | |
92 | |
93 * "git archive -o output.zip" works without being told what format to | |
94 use with an explicit "--format=zip".option. | |
95 | |
96: * "git checkout", "git reset" and "git stash" learned to pick and | |
97 choose to use selected changes you made, similar to "git add -p". | |
98 | |
99 * "git clone" learned a "-b" option to pick a HEAD to check out | |
100 different from the remote's default branch. | |
101 | |
Documentation/RelNotes/1.7.0.1.txt: | |
26 would be a GNU way to use "--" as "end of options". | |
27 | |
28 * "git grep" compiled with threading support tried to access an | |
29 uninitialized mutex on boxes with a single CPU. | |
30 | |
31: * "git stash pop -q --index" failed because the unnecessary --index | |
32: option was propagated to "git stash drop" that is internally run at the | |
33 end. | |
34 | |
35 And other minor fixes and documentation updates. | |
Documentation/RelNotes/1.7.0.5.txt: | |
8 | |
9 * Output from "git rev-list --pretty=oneline" was unparsable when a | |
10 commit did not have any message, which is abnormal but possible in a | |
11 repository converted from foreign scm. | |
12 | |
13: * "git stash show <commit-that-is-not-a-stash>" gave an error message | |
14 that was not so useful. Reworded the message to "<it> is not a | |
15: stash". | |
16 | |
17 * Python scripts in contrib/ area now start with "#!/usr/bin/env python" | |
18 to honor user's PATH. | |
19 | |
20 * "git imap-send" used to mistake any line that begins with "From " as a | |
Documentation/RelNotes/1.7.1.1.txt: | |
84 content-type even when its payload needs to be sent in 8-bit. | |
85 | |
86 * "git show -C -C" and other corner cases lost diff metainfo output | |
87 in 1.7.0. | |
88 | |
89: * "git stash" incorrectly lost paths in the working tree that were | |
90 previously removed from the index. | |
91 | |
92 * "git status" stopped refreshing the index by mistake in 1.7.1. | |
93 | |
94 * "git status" showed excess "hints" even when advice.statusHints is set to false. | |
Documentation/RelNotes/1.7.3.1.txt: | |
2 ========================== | |
3 | |
4 Fixes since v1.7.3 | |
5 ------------------ | |
6 | |
7: * "git stash show stash@{$n}" was accidentally broken in 1.7.3 ("git | |
8: stash show" without any argument still worked, though). | |
9 | |
10: * "git stash branch $branch stash@{$n}" was accidentally broken in | |
11: 1.7.3 and started dropping the named stash even when branch creation | |
12 failed. | |
13 | |
14 And other minor fixes and documentation updates. | |
Documentation/RelNotes/1.7.4.3.txt: | |
23 * "git diff --quiet" did not work very well with the "--diff-filter" | |
24 option. | |
25 | |
26 * "git grep -n" lacked a long-hand synonym --line-number. | |
27 | |
28: * "git stash apply" reported the result of its operation by running | |
29 "git status" from the top-level of the working tree; it should (and | |
30 now does) run it from the user's working directory. | |
31 | |
32 And other minor fixes and documentation updates. | |
Documentation/RelNotes/1.7.5.1.txt: | |
31 * "git pack-object" did not take core.bigfilethreashold into account | |
32 (unlike fast-import); now it does. | |
33 | |
34 * "git reflog" ignored options like "--format=.." on the command line. | |
35 | |
36: * "git stash apply" used to refuse to work if there was any change in | |
37 the working tree, even when the change did not overlap with the change | |
38: the stash recorded. | |
39 | |
40: * "git stash apply @{99999}" was not diagnosed as an error, even when you | |
41: did not have that many stash entries. | |
42 | |
43 * An error message from "git send-email" to diagnose a broken SMTP | |
44 connection configuration lacked a space between "hello=<smtp-domain>" | |
45 and "port=<smtp-server-port>". | |
46 | |
Documentation/RelNotes/1.7.5.2.txt: | |
1 Git v1.7.5.2 Release Notes | |
2 ========================== | |
3 | |
4 The release notes to 1.7.5.1 forgot to mention: | |
5 | |
6: * "git stash -p --no-keep-index" and "git stash --no-keep-index -p" now | |
7 mean the same thing. | |
8 | |
9 * "git upload-pack" (hence "git push" over git native protocol) had a | |
10 subtle race condition that could lead to a deadlock. | |
11 | |
Documentation/RelNotes/1.7.7.txt: | |
97 fix for many corner cases that may rarely happen in real world | |
98 projects (it has been verified that none of the 16000+ merges in | |
99 the Linux kernel history back to v2.6.12 is affected with the | |
100 corner case bugs this update fixes). | |
101 | |
102: * "git stash" learned an "--include-untracked option". | |
103 | |
104 * "git submodule update" used to stop at the first error updating a | |
105 submodule; it now goes on to update other submodules that can be | |
106 updated, and reports the ones with errors at the end. | |
107 | |
Documentation/RelNotes/1.7.8.txt: | |
94 with "~/" to refer to the $HOME directory. | |
95 | |
96 * "git send-email" forces use of Authen::SASL::Perl to work around | |
97 issues between Authen::SASL::Cyrus and AUTH PLAIN/LOGIN. | |
98 | |
99: * "git stash" learned "--include-untracked" option to stash away | |
100 untracked/ignored cruft from the working tree. | |
101 | |
102 * "git submodule clone" does not leak an error message to the UI | |
103 level unnecessarily anymore. | |
104 | |
Documentation/RelNotes/1.7.10.2.txt: | |
71 user futzed with her $PATH. | |
72 | |
73 * "git rev-parse --show-prefix" used to emit nothing when run at the | |
74 top-level of the working tree, but now it gives a blank line. | |
75 | |
76: * The i18n of error message "git stash save" was not properly done. | |
77 | |
78 * "git submodule" used a sed script that some platforms mishandled. | |
79 | |
80 * When using a Perl script on a system where "perl" found on user's | |
81 $PATH could be ancient or otherwise broken, we allow builders to | |
Documentation/RelNotes/1.7.10.3.txt: | |
24 NUL. The fix is not entirely correct when the output also asks for | |
25 --patch and/or --stat, though. | |
26 | |
27 * The DWIM behaviour for "log --pretty=format:%gd -g" was somewhat | |
28 broken and gave undue precedence to configured log.date, causing | |
29: "git stash list" to show "stash@{time stamp string}". | |
30 | |
31 * "git status --porcelain" ignored "--branch" option by mistake. The | |
32 output for "git status --branch -z" was also incorrect and did not | |
33 terminate the record for the current branch name with NUL as asked. | |
34 | |
Documentation/RelNotes/1.7.11.6.txt: | |
63 inconsistent (the interactive one gave an abbreviated object name). | |
64 | |
65 * "git send-email" did not unquote encoded words that appear on the | |
66 header correctly, and lost "_" from strings. | |
67 | |
68: * "git stash apply/pop" did not trigger "rerere" upon conflicts | |
69 unlike other mergy operations. | |
70 | |
71 * "git submodule <cmd> path" did not error out when the path to the | |
72 submodule was misspelt. | |
73 | |
Documentation/RelNotes/1.8.4.txt: | |
191 "refs/<some hierarchy>/<name>" exists. This disambiguation order | |
192 is unlikely to change, but we should warn about the ambiguity just | |
193 like we warn when more than one refs/ hierarchies share the same | |
194 name. | |
195 | |
196: * "git rebase" learned "--[no-]autostash" option to save local | |
197 changes instead of refusing to run (to which people's normal | |
198: response was to stash them and re-run). This introduced a corner | |
199 case breakage to "git am --abort" but it has been fixed. | |
200 | |
201 * "check-ignore" (new feature since 1.8.2) has been updated to work | |
202 more like "check-attr" over bidi-pipes. | |
203 | |
Documentation/RelNotes/1.8.5.4.txt: | |
37 | |
38 * There is no reason to have a hardcoded upper limit of the number of | |
39 parents for an octopus merge, created via the graft mechanism, but | |
40 there was. | |
41 | |
42: * The implementation of 'git stash $cmd "stash@{...}"' did not quote | |
43: the stash argument properly and left it split at IFS whitespace. | |
44 | |
45 * The documentation to "git pull" hinted there is an "-m" option | |
46 because it incorrectly shared the documentation with "git merge". | |
47 | |
48 Also contains typofixes, documentation updates and trivial code clean-ups. | |
Documentation/RelNotes/1.8.5.5.txt: | |
18 * A handful of bugs around interpreting $branch@{upstream} notation | |
19 and its lookalike, when $branch part has interesting characters, | |
20 e.g. "@", and ":", have been fixed. | |
21 | |
22 * "git clone" would fail to clone from a repository that has a ref | |
23: directly under "refs/", e.g. "refs/stash", because different | |
24 validation paths do different things on such a refname. Loosen the | |
25 client side's validation to allow such a ref. | |
26 | |
27 * "git log --left-right A...B" lost the "leftness" of commits | |
28 reachable from A when A is a tag as a side effect of a recent | |
Documentation/RelNotes/1.9.0.txt: | |
235 * A handful of bugs around interpreting $branch@{upstream} notation | |
236 and its lookalike, when $branch part has interesting characters, | |
237 e.g. "@", and ":", have been fixed. | |
238 | |
239 * "git clone" would fail to clone from a repository that has a ref | |
240: directly under "refs/", e.g. "refs/stash", because different | |
241 validation paths do different things on such a refname. Loosen the | |
242 client side's validation to allow such a ref. | |
243 | |
244 * "git log --left-right A...B" lost the "leftness" of commits | |
245 reachable from A when A is a tag as a side effect of a recent | |
257 * "submodule.*.update=checkout", when propagated from .gitmodules to | |
258 .git/config, turned into a "submodule.*.update=none", which did not | |
259 make much sense. | |
260 (merge efa8fd7 fp/submodule-checkout-mode later to maint). | |
261 | |
262: * The implementation of 'git stash $cmd "stash@{...}"' did not quote | |
263: the stash argument properly and left it split at IFS whitespace. | |
264 | |
265 * The "--[no-]informative-errors" options to "git daemon" were parsed | |
266 a bit too loosely, allowing any other string after these option | |
267 names. | |
268 | |
Documentation/RelNotes/1.9.2.txt: | |
56 | |
57 * Serving objects from a shallow repository needs to write a | |
58 new file to hold the temporary shallow boundaries but it was not | |
59 cleaned when we exit due to die() or a signal. | |
60 | |
61: * When "git stash pop" stops after failing to apply the stash | |
62: (e.g. due to conflicting changes), the stash is not dropped. State | |
63 that explicitly in the output to let the users know. | |
64 | |
65 * The labels in "git status" output that describe the nature of | |
66 conflicts (e.g. "both deleted") were limited to 20 bytes, which was | |
67 too short for some l10n (e.g. fr). | |
Documentation/RelNotes/2.0.0.txt: | |
274 * Serving objects from a shallow repository needs to write a | |
275 new file to hold the temporary shallow boundaries, but it was not | |
276 cleaned when we exit due to die() or a signal. | |
277 (merge 7839632 jk/shallow-update-fix later to maint). | |
278 | |
279: * When "git stash pop" stops after failing to apply the stash | |
280: (e.g. due to conflicting changes), the stash is not dropped. State | |
281 that explicitly in the output to let the users know. | |
282: (merge 2d4c993 jc/stash-pop-not-popped later to maint). | |
283 | |
284 * The labels in "git status" output that describe the nature of | |
285 conflicts (e.g. "both deleted") were limited to 20 bytes, which was | |
286 too short for some l10n (e.g. fr). | |
287 (merge c7cb333 jn/wt-status later to maint). | |
Documentation/RelNotes/2.0.1.txt: | |
90 * "git log --exclude=<glob> --all | git shortlog" worked as expected, | |
91 but "git shortlog --exclude=<glob> --all", which is supposed to be | |
92 identical to the above pipeline, was not accepted at the command | |
93 line argument parser level. | |
94 | |
95: * The autostash mode of "git rebase -i" did not restore the dirty | |
96 working tree state if the user aborted the interactive rebase by | |
97 emptying the insn sheet. | |
98 | |
99 * "git show -s" (i.e. show log message only) used to incorrectly emit | |
100 an extra blank line after a merge commit. | |
Documentation/RelNotes/2.1.0.txt: | |
346 but "git shortlog --exclude=<glob> --all", which is supposed to be | |
347 identical to the above pipeline, was not accepted at the command | |
348 line argument parser level. | |
349 (merge eb07774 jc/shortlog-ref-exclude later to maint). | |
350 | |
351: * The autostash mode of "git rebase -i" did not restore the dirty | |
352 working tree state if the user aborted the interactive rebase by | |
353 emptying the insn sheet. | |
354: (merge ddb5432 rr/rebase-autostash-fix later to maint). | |
355 | |
356 * "git rebase --fork-point" did not filter out patch-identical | |
357 commits correctly. | |
358 | |
359 * During "git rebase --merge", a conflicted patch could not be | |
Documentation/RelNotes/2.1.1.txt: | |
27 exclude tags outside the range, but it did not work correctly. | |
28 | |
29 * "git add x" where x that used to be a directory has become a | |
30 symbolic link to a directory misbehaved. | |
31 | |
32: * The prompt script checked $GIT_DIR/ref/stash file to see if there | |
33: is a stash, which was a no-no. | |
34 | |
35 * "git checkout -m" did not switch to another branch while carrying | |
36 the local changes forward when a path was deleted from the index. | |
37 | |
38 * With sufficiently long refnames, fast-import could have overflown | |
Documentation/RelNotes/2.2.0.txt: | |
24 user does not already have any global config. This immediately | |
25 reduces the need to later ask "Have you forgotten to set | |
26 core.user?", and we can add more to the template as we gain | |
27 more experience. | |
28 | |
29: * "git stash list -p" used to be almost always a no-op because each | |
30: stash entry is represented as a merge commit. It learned to show | |
31 the difference between the base commit version and the working tree | |
32: version, which is in line with what "git stash show" gives. | |
33 | |
34 * Sometimes users want to report a bug they experience on their | |
35 repository, but they are not at liberty to share the contents of | |
36 the repository. "fast-export" was taught an "--anonymize" option | |
37 to replace blob contents, names of people, paths and log | |
203 exclude tags outside the range, but it didn't. | |
204 | |
205 * "git add x" where x used to be a directory and is now a | |
206 symbolic link to a directory misbehaved. | |
207 | |
208: * The prompt script checked the $GIT_DIR/ref/stash file to see if there | |
209: is a stash, which was a no-no. | |
210 | |
211 * Pack-protocol documentation had a minor typo. | |
212 | |
213 * "git checkout -m" did not switch to another branch while carrying | |
214 the local changes forward when a path was deleted from the index. | |
Documentation/RelNotes/2.4.2.txt: | |
21 munge such a line. Work it around by avoiding to use "sed". | |
22 | |
23 * "git daemon" fails to build from the source under NO_IPV6 | |
24 configuration (regression in 2.4). | |
25 | |
26: * "git stash pop/apply" forgot to make sure that not just the working | |
27 tree is clean but also the index is clean. The latter is important | |
28: as a stash application can conflict and the index will be used for | |
29 conflict resolution. | |
30 | |
31 * We have prepended $GIT_EXEC_PATH and the path "git" is installed in | |
32 (typically "/usr/bin") to $PATH when invoking subprograms and hooks | |
33 for almost eternity, but the original use case the latter tried to | |
Documentation/RelNotes/2.4.4.txt: | |
20 empty contents (failed and then passed the empty input through). | |
21 It can be argued that a filter that produces anything but empty for | |
22 an empty input is nonsense, but if the user wants to do strange | |
23 things, then why not? | |
24 | |
25: * Make "git stash something --help" error out, so that users can | |
26: safely say "git stash drop --help". | |
27 | |
28 * Clarify that "log --raw" and "log --format=raw" are unrelated | |
29 concepts. | |
30 | |
31 * Catch a programmer mistake to feed a pointer not an array to | |
Documentation/RelNotes/2.5.0.txt: | |
395 | |
396 * Clarify that "log --raw" and "log --format=raw" are unrelated | |
397 concepts. | |
398 (merge 92de921 mm/log-format-raw-doc later to maint). | |
399 | |
400: * Make "git stash something --help" error out, so that users can | |
401: safely say "git stash drop --help". | |
402: (merge 5ba2831 jk/stash-options later to maint). | |
403 | |
404 * The clean/smudge interface did not work well when filtering an | |
405 empty contents (failed and then passed the empty input through). | |
406 It can be argued that a filter that produces anything but empty for | |
407 an empty input is nonsense, but if the user wants to do strange | |
Documentation/RelNotes/2.6.0.txt: | |
47 | |
48 * Allow untracked cache (experimental) to be used when sparse | |
49 checkout (experimental) is also in use. | |
50 | |
51 * "git pull --rebase" has been taught to pay attention to | |
52: rebase.autostash configuration. | |
53 | |
54 * The command-line completion script (in contrib/) has been updated. | |
55 | |
56 * A negative !ref entry in multi-value transfer.hideRefs | |
57 configuration can be used to say "don't hide this one". | |
Documentation/RelNotes/2.6.4.txt: | |
42 copied (or symlinked) to the temporary area, as the code already | |
43 special cases and overwrites them. Besides, it was wrong to try | |
44 computing the object name of the target of symbolic link, which may | |
45 not even exist or may be a directory. | |
46 | |
47: * There was no way to defeat a configured rebase.autostash variable | |
48: from the command line, as "git rebase --no-autostash" was missing. | |
49 | |
50 * Allow "git interpret-trailers" to run outside of a Git repository. | |
51 | |
52 * Produce correct "dirty" marker for shell prompts, even when we | |
53 are on an orphan or an unborn branch. | |
Documentation/RelNotes/2.7.0.txt: | |
11 Swedish and Japanese. | |
12 | |
13 * "git remote" learned "get-url" subcommand to show the URL for a | |
14 given remote name used for fetching and pushing. | |
15 | |
16: * There was no way to defeat a configured rebase.autostash variable | |
17: from the command line, as "git rebase --no-autostash" was missing. | |
18 | |
19 * "git log --date=local" used to only show the normal (default) | |
20 format in the local timezone. The command learned to take 'local' | |
21 as an instruction to use the local timezone with other formats, | |
22 | |
23 * The refs used during a "git bisect" session is now per-worktree so | |
24 that independent bisect sessions can be done in different worktrees | |
25 created with "git worktree add". | |
26 | |
27 * Users who are too busy to type three extra keystrokes to ask for | |
28: "git stash show -p" can now set stash.showPatch configuration | |
29 variable to true to always see the actual patch, not just the list | |
30 of paths affected with feel for the extent of damage via diffstat. | |
31 | |
32 * "quiltimport" allows to specify the series file by honoring the | |
33 $QUILT_SERIES environment and also --series command line option. | |
Documentation/RelNotes/2.9.0.txt: | |
79 * "git worktree add" can be given "--no-checkout" option to only | |
80 create an empty worktree without checking out the files. | |
81 | |
82 * "git mergetools" learned to drive ExamDiff. | |
83 | |
84: * "git pull --rebase" learned "--[no-]autostash" option, so that | |
85: the rebase.autostash configuration variable set to true can be | |
86 overridden from the command line. | |
87 | |
88 * When "git log" shows the log message indented by 4-spaces, the | |
89 remainder of a line after a HT does not align in the way the author | |
90 originally intended. The command now expands tabs by default to help | |
435 relied on this mistake so that it reads commit.gpgsign and pass (or | |
436 not pass) the -S option to "git commit-tree" to keep the end-user | |
437 expectation the same, while teaching "git commit-tree" to ignore | |
438 the configuration variable. This will stop requiring the users to | |
439 sign commit objects used internally as an implementation detail of | |
440: "git stash". | |
441 | |
442 * "http.cookieFile" configuration variable clearly wants a pathname, | |
443 but we forgot to treat it as such by e.g. applying tilde expansion. | |
444 | |
445 * Consolidate description of tilde-expansion that is done to | |
Documentation/RelNotes/2.9.3.txt: | |
13 path added with "git add -N" yet, so "git grep --cached" should not | |
14 show hits (or show lack of hits, with -L) in such a path, but that | |
15 logic does not apply to "git grep", i.e. searching in the working | |
16 tree files. But we did so by mistake, which has been corrected. | |
17 | |
18: * "git rebase -i --autostash" did not restore the auto-stashed change | |
19 when the operation was aborted. | |
20 | |
21 * "git commit --amend --allow-empty-message -S" for a commit without | |
22 any message body could have misidentified where the header of the | |
23 commit object ends. | |
Documentation/RelNotes/2.10.0.txt: | |
435 | |
436 * "git commit --amend --allow-empty-message -S" for a commit without | |
437 any message body could have misidentified where the header of the | |
438 commit object ends. | |
439 | |
440: * "git rebase -i --autostash" did not restore the auto-stashed change | |
441 when the operation was aborted. | |
442 | |
443 * Git does not know what the contents in the index should be for a | |
444 path added with "git add -N" yet, so "git grep --cached" should not | |
445 show hits (or show lack of hits, with -L) in such a path, but that | |
Documentation/RelNotes/2.11.0.txt: | |
151 new type of "process" filter API has been added to allow the first | |
152 request to run the filter for a path to spawn a single process, and | |
153 all filtering is served by this single process for multiple | |
154 paths, reducing the process creation overhead. | |
155 | |
156: * The user always has to say "stash@{$N}" when naming a single | |
157: element in the default location of the stash, i.e. reflogs in | |
158: refs/stash. The "git stash" command learned to accept "git stash | |
159: apply 4" as a short-hand for "git stash apply stash@{4}". | |
160 | |
161 | |
162 Performance, Internal Implementation, Development Support etc. | |
163 | |
164 * The delta-base-cache mechanism has been a key to the performance in | |
Documentation/RelNotes/2.11.1.txt: | |
42 to obtain loose objects; we used to give sensible error message | |
43 only upon 404 but we now forbid unexpected redirects that needs to | |
44 be reported with something sensible. | |
45 | |
46 * When diff.renames configuration is on (and with Git 2.9 and later, | |
47: it is enabled by default, which made it worse), "git stash" | |
48 misbehaved if a file is removed and another file with a very | |
49 similar content is added. | |
50 | |
51 * "git diff --no-index" did not take "--no-abbrev" option. | |
52 | |
Documentation/RelNotes/2.12.0.txt: | |
247 to obtain loose objects; we used to give sensible error message | |
248 only upon 404 but we now forbid unexpected redirects that needs to | |
249 be reported with something sensible. | |
250 | |
251 * When diff.renames configuration is on (and with Git 2.9 and later, | |
252: it is enabled by default, which made it worse), "git stash" | |
253 misbehaved if a file is removed and another file with a very | |
254 similar content is added. | |
255 | |
256 * "git diff --no-index" did not take "--no-abbrev" option. | |
257 | |
455 | |
456 * The push-options given via the "--push-options" option were not | |
457 passed through to external remote helpers such as "smart HTTP" that | |
458 are invoked via the transport helper. | |
459 | |
460: * The documentation explained what "git stash" does to the working | |
461: tree (after stashing away the local changes) in terms of "reset | |
462 --hard", which was exposing an unnecessary implementation detail. | |
463: (merge 20a7e06172 tg/stash-doc-cleanup later to maint). | |
464 | |
465 * When "git p4" imports changelist that removes paths, it failed to | |
466 convert pathnames when the p4 used encoding different from the one | |
467 used on the Git side. This has been corrected. | |
468 (merge a8b05162e8 ls/p4-path-encoding later to maint). | |
Documentation/RelNotes/2.13.0.txt: | |
90 | |
91 * When "git submodule init" decides that the submodule in the working | |
92 tree is its upstream, it now gives a warning as it is not a very | |
93 common setup. | |
94 | |
95: * "git stash push" takes a pathspec so that the local changes can be | |
96: stashed away only partially. | |
97 | |
98 * Documentation for "git ls-files" did not refer to core.quotePath. | |
99 | |
100 * The experimental "split index" feature has gained a few | |
101 configuration variables to make it easier to use. | |
142 "git describe --broken" to give "$name-broken" (where $name is the | |
143 description of HEAD) in such a case. | |
144 | |
145 * "git checkout" is taught the "--recurse-submodules" option. | |
146 | |
147: * Recent enhancement to "git stash push" command to support pathspec | |
148: to allow only a subset of working tree changes to be stashed away | |
149 was found to be too chatty and exposed the internal implementation | |
150 detail (e.g. when it uses reset to match the index to HEAD before | |
151 doing other things, output from reset seeped out). These, and | |
152 other chattyness has been fixed. | |
153 | |
Documentation/RelNotes/2.13.1.txt: | |
61 * "git cherry-pick" and other uses of the sequencer machinery | |
62 mishandled a trailer block whose last line is an incomplete line. | |
63 This has been fixed so that an additional sign-off etc. are added | |
64 after completing the existing incomplete line. | |
65 | |
66: * The shell completion script (in contrib/) learned "git stash" has | |
67 a new "push" subcommand. | |
68 | |
69 * Travis CI gained a task to format the documentation with both | |
70 AsciiDoc and AsciiDoctor. | |
71 | |
Documentation/RelNotes/2.13.2.txt: | |
29 * The timestamp of the index file is now taken after the file is | |
30 closed, to help Windows, on which a stale timestamp is reported by | |
31 fstat() on a file that is opened for writing and data was written | |
32 but not yet closed. | |
33 | |
34: * "git pull --rebase --autostash" didn't auto-stash when the local history | |
35 fast-forwards to the upstream. | |
36 | |
37 * "git describe --contains" penalized light-weight tags so much that | |
38 they were almost never considered. Instead, give them about the | |
39 same chance to be considered as an annotated tag that is the same | |
46 | |
47 * A flaky test has been corrected. | |
48 | |
49 * Help contributors that visit us at GitHub. | |
50 | |
51: * "git stash push <pathspec>" did not work from a subdirectory at all. | |
52 Bugfix for a topic in v2.13 | |
53 | |
54 Also contains various documentation updates and code clean-ups. | |
Documentation/RelNotes/2.14.0.txt: | |
95 * Using "git add d/i/r" when d/i/r is the top of the working tree of | |
96 a separate repository would create a gitlink in the index, which | |
97 would appear as a not-quite-initialized submodule to others. We | |
98 learned to give warnings when this happens. | |
99 | |
100: * "git status" learned to optionally give how many stash entries there | |
101 are in its output. | |
102 | |
103 * "git status" has long shown essentially the same message as "git | |
104 commit"; the message it gives while preparing for the root commit, | |
105 i.e. "Initial commit", was hard to understand for some new users. | |
339 resolve the HEAD symref as many times as it had processed refs, | |
340 which was wasteful, and "git branch" shared the same problem. | |
341 | |
342 * Regression fix to topic recently merged to 'master'. | |
343 | |
344: * The shell completion script (in contrib/) learned "git stash" has | |
345 a new "push" subcommand. | |
346 | |
347 * "git interpret-trailers", when used as GIT_EDITOR for "git commit | |
348 -v", looked for and appended to a trailer block at the very end, | |
349 i.e. at the end of the "diff" output. The command has been | |
404 * The timestamp of the index file is now taken after the file is | |
405 closed, to help Windows, on which a stale timestamp is reported by | |
406 fstat() on a file that is opened for writing and data was written | |
407 but not yet closed. | |
408 | |
409: * "git pull --rebase --autostash" didn't auto-stash when the local history | |
410 fast-forwards to the upstream. | |
411 | |
412 * A flaky test has been corrected. | |
413 | |
414 * "git $cmd -h" for builtin commands calls the implementation of the | |
417 potty needs to be prepared to show the help text without barfing. | |
418 (merge d691551192 jk/consistent-h later to maint). | |
419 | |
420 * Help contributors that visit us at GitHub. | |
421 | |
422: * "git stash push <pathspec>" did not work from a subdirectory at all. | |
423 Bugfix for a topic in v2.13 | |
424 | |
425 * As there is no portable way to pass timezone information to | |
426 strftime, some output format from "git log" and friends are | |
427 impossible to produce. Teach our own strbuf_addftime to replace %z | |
Documentation/RelNotes/2.14.2.txt: | |
64 current time, which has been corrected. | |
65 | |
66 * Memory leaks in a few error codepaths have been plugged. | |
67 | |
68 * bash 4.4 or newer gave a warning on NUL byte in command | |
69: substitution done in "git stash"; this has been squelched. | |
70 | |
71 * "git grep -L" and "git grep --quiet -L" reported different exit | |
72 codes; this has been corrected. | |
73 | |
74 * When handshake with a subprocess filter notices that the process | |
Documentation/RelNotes/2.15.0.txt: | |
304 offset for the timestamp in question and instead always used the | |
305 current time, which has been corrected. | |
306 | |
307 * Memory leak in an error codepath has been plugged. | |
308 | |
309: * "git stash -u" used the contents of the committed version of the | |
310 ".gitignore" file to decide which paths are ignored, even when the | |
311 file has local changes. The command has been taught to instead use | |
312 the locally modified contents. | |
313 | |
314 * bash 4.4 or newer gave a warning on NUL byte in command | |
315: substitution done in "git stash"; this has been squelched. | |
316 | |
317 * "git grep -L" and "git grep --quiet -L" reported different exit | |
318 codes; this has been corrected. | |
319 | |
320 * When handshake with a subprocess filter notices that the process | |
Documentation/RelNotes/2.16.0.txt: | |
29 | |
30 * "gitweb" checks if a directory is searchable with Perl's "-x" | |
31 operator, which can be enhanced by using "filetest 'access'" | |
32 pragma, which now we do. | |
33 | |
34: * "git stash save" has been deprecated in favour of "git stash push". | |
35 | |
36 * The set of paths output from "git status --ignored" was tied | |
37 closely with its "--untracked=<mode>" option, but now it can be | |
38 controlled more flexibly. Most notably, a directory that is | |
39 ignored because it is listed to be ignored in the ignore/exclude | |
95 * "git config --expiry-date gc.reflogexpire" can read "2.weeks" from | |
96 the configuration and report it as a timestamp, just like "--int" | |
97 would read "1k" and report 1024, to help consumption by scripts. | |
98 | |
99 * The shell completion (in contrib/) learned that "git pull" can take | |
100: the "--autostash" option. | |
101 | |
102 * The tagnames "git log --decorate" uses to annotate the commits can | |
103 now be limited to subset of available refs with the two additional | |
104 options, --decorate-refs[-exclude]=<pattern>. | |
105 | |
381 the object does not exist. A look-up for an object that does not | |
382 exist however is quite costly with a repository with large number | |
383 of packfiles. This access pattern has been optimized. | |
384 (merge 87b5e236a1 jk/fewer-pack-rescan later to maint). | |
385 | |
386: * In addition to "git stash -m message", the command learned to | |
387: accept "git stash -mmessage" form. | |
388: (merge 5675473fcb ph/stash-save-m-option-fix later to maint). | |
389 | |
390 * @{-N} in "git checkout @{-N}" may refer to a detached HEAD state, | |
391 but the documentation was not clear about it, which has been fixed. | |
392 (merge 75ce149575 ks/doc-checkout-previous later to maint). | |
393 | |
Documentation/RelNotes/2.16.2.txt: | |
17 | |
18 * "git clone $there $here" is allowed even when here directory exists | |
19 as long as it is an empty directory, but the command incorrectly | |
20 removed it upon a failure of the operation. | |
21 | |
22: * "git stash -- <pathspec>" incorrectly blew away untracked files in | |
23 the directory that matched the pathspec, which has been corrected. | |
24 | |
25 * "git add -p" was taught to ignore local changes to submodules as | |
26 they do not interfere with the partial addition of regular changes | |
27 anyway. | |
Documentation/RelNotes/2.17.0.txt: | |
196 text. | |
197 | |
198 * When resetting the working tree files recursively, the working tree | |
199 of submodules are now also reset to match. | |
200 | |
201: * "git stash -- <pathspec>" incorrectly blew away untracked files in | |
202 the directory that matched the pathspec, which has been corrected. | |
203 | |
204 * Instead of maintaining home-grown email address parsing code, ship | |
205 a copy of reasonably recent Mail::Address to be used as a fallback | |
206 in 'git send-email' when the platform lacks it. | |
Documentation/RelNotes/2.18.0.txt: | |
68 | |
69 * "git ls-remote" learned an option to allow sorting its output based | |
70 on the refnames being shown. | |
71 | |
72 * The command line completion (in contrib/) has been taught that "git | |
73: stash save" has been deprecated ("git stash push" is the preferred | |
74 spelling in the new world) and does not offer it as a possible | |
75: completion candidate when "git stash push" can be. | |
76 | |
77 * "git gc --prune=nonsense" spent long time repacking and then | |
78 silently failed when underlying "git prune --expire=nonsense" | |
79 failed to parse its command line. This has been corrected. | |
80 | |
313 Git repository. The command has been taught to complain about | |
314 extra and unwanted arguments on its command line instead in such a | |
315 case. | |
316 (merge 4aa0161e83 ma/shortlog-revparse later to maint). | |
317 | |
318: * "git stash push -u -- <pathspec>" gave an unnecessary and confusing | |
319 error message when there was no tracked files that match the | |
320 <pathspec>, which has been fixed. | |
321: (merge 353278687e tg/stash-untracked-with-pathspec-fix later to maint). | |
322 | |
323 * "git tag --contains no-such-commit" gave a full list of options | |
324 after giving an error message. | |
325 (merge 3bb0923f06 ps/contains-id-error-message later to maint). | |
326 | |
Documentation/RelNotes/2.19.0.txt: | |
608 (merge 1820703045 js/larger-timestamps later to maint). | |
609 (merge c8b35b95e1 sg/t4051-fix later to maint). | |
610 (merge 30612cb670 sg/t0020-conversion-fix later to maint). | |
611 (merge 15da753709 sg/t7501-thinkofix later to maint). | |
612 (merge 79b04f9b60 sg/t3903-missing-fix later to maint). | |
613: (merge 2745817028 sg/t3420-autostash-fix later to maint). | |
614 (merge 7afb0d6777 sg/test-rebase-editor-fix later to maint). | |
615 (merge 6c6ce21baa es/freebsd-iconv-portability later to maint). | |
Documentation/RelNotes/2.20.0.txt: | |
80 | |
81 * The minimum version of Windows supported by Windows port of Git is | |
82 now set to Vista. | |
83 | |
84 * The completion script (in contrib/) learned to complete a handful of | |
85: options "git stash list" command takes. | |
86 | |
87 * The completion script (in contrib/) learned that "git fetch | |
88 --multiple" only takes remote names as arguments and no refspecs. | |
89 | |
90 * "git status" learns to show progress bar when refreshing the index | |
602 * "git merge" and "git pull" that merges into an unborn branch used | |
603 to completely ignore "--verify-signatures", which has been | |
604 corrected. | |
605 (merge 01a31f3bca jk/verify-sig-merge-into-void later to maint). | |
606 | |
607: * "git rebase --autostash" did not correctly re-attach the HEAD at times. | |
608 | |
609 * "rev-parse --exclude=<pattern> --branches=<pattern>" etc. did not | |
610 quite work, which has been corrected. | |
611 (merge 9ab9b5df0e ra/rev-parse-exclude-glob later to maint). | |
612 | |
Documentation/RelNotes/2.21.0.txt: | |
205 * Refspecs configured with "git -c var=val clone" did not propagate | |
206 to the resulting repository, which has been corrected. | |
207 (merge 7eae4a3ac4 sg/clone-initial-fetch-configuration later to maint). | |
208 | |
209 * A properly configured username/email is required under | |
210: user.useConfigOnly in order to create commits; now "git stash" | |
211: (even though it creates commit objects to represent stash entries) | |
212 command is exempt from the requirement. | |
213: (merge 3bc2111fc2 sd/stash-wo-user-name later to maint). | |
214 | |
215 * The http-backend CGI process did not correctly clean up the child | |
216 processes it spawns to run upload-pack etc. when it dies itself, | |
217 which has been corrected. | |
218 (merge 02818a98d7 mk/http-backend-kill-children-before-exit later to maint). | |
Documentation/RelNotes/2.22.0.txt: | |
150 * The scripted "git rebase" implementation has been retired. | |
151 | |
152 * "git multi-pack-index verify" did not scale well with the number of | |
153 packfiles, which is being improved. | |
154 | |
155: * "git stash" has been rewritten in C. | |
156 | |
157 * The "check-docs" Makefile target to support developers has been | |
158 updated. | |
159 | |
160 * The tests have been updated not to rely on the abbreviated option | |
Documentation/RelNotes/2.22.1.txt: | |
116 a repository outside one), which has been corrected. | |
117 | |
118 * "git rebase --abort" used to leave refs/rewritten/ when concluding | |
119 "git rebase -r", which has been corrected. | |
120 | |
121: * "git stash show 23" used to work, but no more after getting | |
122 rewritten in C; this regression has been corrected. | |
123 | |
124 * "git interpret-trailers" always treated '#' as the comment | |
125 character, regardless of core.commentChar setting, which has been | |
126 corrected. | |
Documentation/RelNotes/2.23.0.txt: | |
271 | |
272 * "git interpret-trailers" always treated '#' as the comment | |
273 character, regardless of core.commentChar setting, which has been | |
274 corrected. | |
275 | |
276: * "git stash show 23" used to work, but no more after getting | |
277 rewritten in C; this regression has been corrected. | |
278 | |
279 * "git rebase --abort" used to leave refs/rewritten/ when concluding | |
280 "git rebase -r", which has been corrected. | |
281 | |
317 | |
318 * "git rm" to resolve a conflicted path leaked an internal message | |
319 "needs merge" before actually removing the path, which was | |
320 confusing. This has been corrected. | |
321 | |
322: * "git stash --keep-index" did not work correctly on paths that have | |
323 been removed, which has been fixed. | |
324: (merge b932f6a5e8 tg/stash-keep-index-with-removed-paths later to maint). | |
325 | |
326 * Window 7 update ;-) | |
327 | |
328 * A codepath that reads from GPG for signed object verification read | |
329 past the end of allocated buffer, which has been fixed. | |
Documentation/RelNotes/2.24.0.txt: | |
114 got reshuffled and renamed to make it less tied to "excluding" and | |
115 stress more that it is about "matching", as it has been reused for | |
116 things like sparse checkout specification that want to check if a | |
117 path is "included". | |
118 | |
119: * "git stash" learned to write refreshed index back to disk. | |
120 | |
121 * Coccinelle checks are done on more source files than before now. | |
122 | |
123 * The cache-tree code has been taught to be less aggressive in | |
124 attempting to see if a tree object it computed already exists in | |
223 | |
224 * Fix an earlier regression in the test suite, which mistakenly | |
225 stopped running HTTPD tests. | |
226 (merge 3960290675 sg/git-test-boolean later to maint). | |
227 | |
228: * "git rebase --autostash <upstream> <branch>", when <branch> is | |
229 different from the current branch, incorrectly moved the tip of the | |
230 current branch, which has been corrected. | |
231: (merge bf1e28e0ad bw/rebase-autostash-keep-current-branch later to maint). | |
232 | |
233 * Update support for Asciidoctor documentation toolchain. | |
234 (merge 83b0b8953e ma/asciidoctor-refmiscinfo later to maint). | |
235 | |
236 * Start using DocBook 5 (instead of DocBook 4.5) as Asciidoctor 2.0 | |
309 have the standard a/ and b/ prefixes. The command now forces the | |
310 internal patch to be built without any prefix, not to be affected | |
311 by any end-user configuration. | |
312 (merge 937b76ed49 js/range-diff-noprefix later to maint). | |
313 | |
314: * "git stash apply" in a subdirectory of a secondary worktree failed | |
315 to access the worktree correctly, which has been corrected. | |
316: (merge dfd557c978 js/stash-apply-in-secondary-worktree later to maint). | |
317 | |
318 * The merge-recursive machinery is one of the most complex parts of | |
319 the system that accumulated cruft over time. This large series | |
320 cleans up the implementation quite a bit. | |
321 (merge b657047719 en/merge-recursive-cleanup later to maint). | |
333 (merge 4f3c1dc5d6 dl/allow-running-cocci-verbosely later to maint). | |
334 | |
335 * "git format-patch -o <outdir>" did an equivalent of "mkdir <outdir>" | |
336 not "mkdir -p <outdir>", which was corrected. | |
337 | |
338: * "git stash save" lost local changes to submodules, which has been | |
339 corrected. | |
340: (merge 556895d0c8 jj/stash-reset-only-toplevel later to maint). | |
341 | |
342 * The atomic push over smart HTTP transport did not work, which has | |
343 been corrected. | |
344 (merge 6f1194246a bc/smart-http-atomic-push later to maint). | |
345 | |
382 (merge f537485fa5 rs/test-remove-useless-debugging-cat later to maint). | |
383 (merge 11a3d3aadd dl/rev-list-doc-cleanup later to maint). | |
384 (merge d928a8388a am/t0028-utf16-tests later to maint). | |
385 (merge b05b40930e dl/t0000-skip-test-test later to maint). | |
386 (merge 03d3b1297c js/xdiffi-comment-updates later to maint). | |
387: (merge 57d8f4b4c7 js/doc-stash-save later to maint). | |
388 (merge 8c1cfd58e3 ta/t1308-typofix later to maint). | |
389 (merge fa364ad790 bb/utf8-wcwidth-cleanup later to maint). | |
390 (merge 68b69211b2 bb/compat-util-comment-fix later to maint). | |
391 (merge 5cc6a4be11 rs/http-push-simplify later to maint). | |
392 (merge a81e42d235 rs/column-use-utf8-strnwidth later to maint). | |
Documentation/RelNotes/2.25.0.txt: | |
169 | |
170 * Code clean-up and a bugfix in the logic used to tell worktree local | |
171 and repository global refs apart. | |
172 (merge f45f88b2e4 sg/dir-trie-fixes later to maint). | |
173 | |
174: * "git stash save" in a working tree that is sparsely checked out | |
175 mistakenly removed paths that are outside the area of interest. | |
176 (merge 4a58c3d7f7 js/update-index-ignore-removal-for-skip-worktree later to maint). | |
177 | |
178 * "git rev-parse --git-path HEAD.lock" did not give the right path | |
179 when run in a secondary worktree. | |
203 * Fetching from multiple remotes into the same repository in parallel | |
204 had a bad interaction with the recent change to (optionally) update | |
205 the commit-graph after a fetch job finishes, as these parallel | |
206 fetches compete with each other. Which has been corrected. | |
207 | |
208: * Recent update to "git stash pop" made the command empty the index | |
209 when run with the "--quiet" option, which has been corrected. | |
210 | |
211 * "git fetch" codepath had a big "do not lazily fetch missing objects | |
212 when I ask if something exists" switch. This has been corrected by | |
213 marking the "does this thing exist?" calls with "if not please do not | |
Documentation/RelNotes/2.26.0.txt: | |
58 applies. | |
59 | |
60 * "git clone --recurse-submodules --single-branch" now uses the same | |
61 single-branch option when cloning the submodules. | |
62 | |
63: * "git rm" and "git stash" learns the new "--pathspec-from-file" | |
64 option. | |
65 | |
66 * "git am --show-current-patch" is a way to show the piece of e-mail | |
67 for the stopped step, which is not suitable to directly feed "git | |
68 apply" (it is designed to be a good "git am" input). It learned a | |
Documentation/RelNotes/2.27.0.txt: | |
82 | |
83 * "git rebase" happens to call some hooks meant for "checkout" and | |
84 "commit" by this was not a designed behaviour than historical | |
85 accident. This has been documented. | |
86 | |
87: * "git merge" learns the "--autostash" option. | |
88 | |
89 * "sparse-checkout" UI improvements. | |
90 | |
91 * "git update-ref --stdin" learned a handful of new verbs to let the | |
92 user control ref update transactions more explicitly, which helps | |
127 | |
128 * SHA-256 transition continues. | |
129 | |
130 * The code to interface with GnuPG has been refactored. | |
131 | |
132: * "git stash" has kept an escape hatch to use the scripted version | |
133 for a few releases, which got stale. It has been removed. | |
134 | |
135 * Enable tests that require GnuPG on Windows. | |
136 | |
137 * Minor test usability improvement. | |
329 built-in subcommands, that implements bulk of a couple of | |
330 subcommands have been moved to libgit.a so that they could be used | |
331 by others. | |
332 (merge 9460fd48b5 dl/libify-a-few later to maint). | |
333 | |
334: * Allowing the user to split a patch hunk while "git stash -p" does | |
335 not work well; a band-aid has been added to make this (partially) | |
336 work better. | |
337 | |
338 * "git diff-tree --pretty --notes" used to hit an assertion failure, | |
339 as it forgot to initialize the notes subsystem. | |
Documentation/RelNotes/2.28.0.txt: | |
134 option to pass these nonsense timestamps intact to allow recreating | |
135 existing repositories as-is. | |
136 (merge d42a2fb72f en/fast-import-looser-date later to maint). | |
137 | |
138 * The command line completion script (in contrib/) tried to complete | |
139: "git stash -p" as if it were "git stash push -p", but it was too | |
140: aggressive and also affected "git stash show -p", which has been | |
141 corrected. | |
142: (merge fffd0cf520 vs/complete-stash-show-p-fix later to maint). | |
143 | |
144 * On-the-wire protocol v2 easily falls into a deadlock between the | |
145 remote-curl helper and the fetch-pack process when the server side | |
146 prematurely throws an error and disconnects. The communication has | |
147 been updated to make it more robust. | |
Documentation/RelNotes/2.30.0.txt: | |
11 * Userdiff for Rust update. | |
12 | |
13 * Userdiff for CSS update. | |
14 | |
15 * The command line completion script (in contrib/) learned that "git | |
16: stash show" takes the options "git diff" takes. | |
17 | |
18 * "git worktree list" now shows if each worktree is locked. This | |
19 possibly may open us to show other kinds of states in the future. | |
20 | |
21 * "git maintenance", an extended big brother of "git gc", continues | |
246 "rebase -i" with old git and then continue with new git. Loosen | |
247 the reader side a bit (which we may want to tighten again in a year | |
248 or so). | |
249 (merge c779386182 jc/sequencer-stopped-sha-simplify later to maint). | |
250 | |
251: * The code to see if "git stash drop" can safely remove refs/stash | |
252 has been made more careful. | |
253 (merge 4f44c5659b rs/empty-reflog-check-fix later to maint). | |
254 | |
255 * "git log -L<range>:<path>" is documented to take no pathspec, but | |
256 this was not enforced by the command line option parser, which has | |
306 * Move a definition of compatibility wrapper from cache.h to | |
307 git-compat-util.h | |
308 (merge a76b138daa hn/sleep-millisec-decl later to maint). | |
309 | |
310 * Error message fix. | |
311: (merge eaf5341538 km/stash-error-message-fix later to maint). | |
312 | |
313 * "git pull --rebase --recurse-submodules" checked for local changes | |
314 in a wrong range and failed to run correctly when it should. | |
315 (merge 5176f20ffe pb/pull-rebase-recurse-submodules later to maint). | |
316 | |
Documentation/RelNotes/2.30.1.txt: | |
12 when it has an uninitialized (hence of no interest to the user) | |
13 sub-submodule, which has been corrected. | |
14 | |
15 * Command line error of "git rebase" are diagnosed earlier. | |
16 | |
17: * "git stash" did not work well in a sparsely checked out working | |
18 tree. | |
19 | |
20 * Some tests expect that "ls -l" output has either '-' or 'x' for | |
21 group executable bit, but setgid bit can be inherited from parent | |
22 directory and make these fields 'S' or 's' instead, causing test | |
Documentation/RelNotes/2.31.0.txt: | |
235 | |
236 * Diagnose command line error of "git rebase" early. | |
237 | |
238 * Clean up option descriptions in "git cmd --help". | |
239 | |
240: * "git stash" did not work well in a sparsely checked out working | |
241 tree. | |
242 | |
243 * Some tests expect that "ls -l" output has either '-' or 'x' for | |
244 group executable bit, but setgid bit can be inherited from parent | |
245 directory and make these fields 'S' or 's' instead, causing test | |
Documentation/RelNotes/2.32.0.txt: | |
25 object store (think: bare repositories where HEAD:.mailmap etc. are | |
26 used). When these files are symbolic links, we used to read the | |
27 contents of the files pointed by them by mistake, which has been | |
28 corrected. | |
29 | |
30: * "git stash show" learned to optionally show untracked part of the | |
31: stash. | |
32 | |
33 * "git log --format='...'" learned "%(describe)" placeholder. | |
34 | |
35 * "git repack" so far has been only capable of repacking everything | |
36 under the sun into a single pack (or split by size). A cleverer | |
97 | |
98 * "git rev-list" learns the "--filter=object:type=<type>" option, | |
99 which can be used to exclude objects of the given kind from the | |
100 packfile generated by pack-objects. | |
101 | |
102: * The command line completion (in contrib/) for "git stash" has been | |
103 updated. | |
104 | |
105 * "git subtree" updates. | |
106 | |
107 * It is now documented that "format-patch" skips merges. | |
Documentation/RelNotes/2.33.0.txt: | |
224 (merge d3236becec fc/pull-no-rebase-merges-theirs-into-ours later to maint). | |
225 | |
226 * A race between repacking and using pack bitmaps has been corrected. | |
227 (merge dc1daacdcc jk/check-pack-valid-before-opening-bitmap later to maint). | |
228 | |
229: * The local changes stashed by "git merge --autostash" were lost when | |
230 the merge failed in certain ways, which has been corrected. | |
231 | |
232 * Windows rmdir() equivalent behaves differently from POSIX ones in | |
233 that when used on a symbolic link that points at a directory, the | |
234 target directory gets removed, which has been corrected. | |
Documentation/RelNotes/2.33.1.txt: | |
110 * When "git am --abort" fails to abort correctly, it still exited | |
111 with exit status of 0, which has been corrected. | |
112 | |
113 * Correct nr and alloc members of strvec struct to be of type size_t. | |
114 | |
115: * "git stash", where the tentative change involves changing a | |
116 directory to a file (or vice versa), was confused, which has been | |
117 corrected. | |
118 | |
119 * "git clone" from a repository whose HEAD is unborn into a bare | |
120 repository didn't follow the branch name the other side used, which | |
Documentation/RelNotes/2.34.0.txt: | |
293 * When "git am --abort" fails to abort correctly, it still exited | |
294 with exit status of 0, which has been corrected. | |
295 | |
296 * Correct nr and alloc members of strvec struct to be of type size_t. | |
297 | |
298: * "git stash", where the tentative change involves changing a | |
299 directory to a file (or vice versa), was confused, which has been | |
300 corrected. | |
301 | |
302 * "git clone" from a repository whose HEAD is unborn into a bare | |
303 repository didn't follow the branch name the other side used, which | |
Documentation/RelNotes/2.35.0.txt: | |
10 matching the per-URL configuration variable names. | |
11 | |
12 | |
13 UI, Workflows & Features | |
14 | |
15: * "git status --porcelain=v2" now show the number of stash entries | |
16: with --show-stash like the normal output does. | |
17 | |
18: * "git stash" learned the "--staged" option to stash away what has | |
19 been added to the index (and nothing else). | |
20 | |
21 | |
22 Performance, Internal Implementation, Development Support etc. | |
23 | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment