Skip to content

Instantly share code, notes, and snippets.

@devinrhode2
Created December 9, 2021 20:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save devinrhode2/1284e8ef0052a5f086b2055e72637d8a to your computer and use it in GitHub Desktop.
Save devinrhode2/1284e8ef0052a5f086b2055e72637d8a to your computer and use it in GitHub Desktop.
git stash release notes/changelog
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