@@ -29,6 +29,30 @@ UI, Workflows & Features
2929 * Tweak the sample "store" backend of the credential helper to honor
3030 XDG configuration file locations when specified.
3131
32+ * A heuristic to help the "git <cmd> <revs> <pathspec>" command line
33+ convention to catch mistyped paths is to make sure all the non-rev
34+ parameters in the later part of the command line are names of the
35+ files in the working tree, but that means "git grep $str -- \*.c"
36+ must always be disambiguated with "--", because nobody sane will
37+ create a file whose name literally is asterisk-dot-see. Loosen the
38+ heuristic to declare that with a wildcard string the user likely
39+ meant to give us a pathspec.
40+
41+ * "git merge FETCH_HEAD" learned that the previous "git fetch" could
42+ be to create an Octopus merge, i.e. recording multiple branches
43+ that are not marked as "not-for-merge"; this allows us to lose an
44+ old style invocation "git merge <msg> HEAD $commits..." in the
45+ implementation of "git pull" script; the old style syntax can now
46+ be deprecated.
47+
48+ * Help us to find broken test script that splits the body part of the
49+ test by mistaken use of wrong kind of quotes.
50+ (merge d93d5d5 jc/test-prereq-validate later to maint).
51+
52+ * Developer support to automatically detect broken &&-chain in the
53+ test scripts is now turned on by default.
54+ (merge 92b269f jk/test-chain-lint later to maint).
55+
3256
3357Performance, Internal Implementation, Development Support etc.
3458
@@ -60,6 +84,13 @@ Performance, Internal Implementation, Development Support etc.
6084 to read packed-refs file revealed that the former is unacceptably
6185 inefficient.
6286
87+ * The refs API uses ref_lock struct which had its own "int fd", even
88+ though the same file descriptor was in the lock struct it contains.
89+ Clean-up the code to lose this redundant field.
90+
91+ * Add the "--allow-unknown-type" option to "cat-file" to allow
92+ inspecting loose objects of an experimental or a broken type.
93+
6394 * Many long-running operations show progress eye-candy, even when
6495 they are later backgrounded. Hide the eye-candy when the process
6596 is sent to the background instead.
@@ -156,6 +187,55 @@ notes for details).
156187 directory, instead of refusing to run.
157188 (merge 0615173 jc/diff-no-index-d-f later to maint).
158189
190+ * "git rebase -i" moved the "current" command from "todo" to "done" a
191+ bit too prematurely, losing a step when a "pick" did not even start.
192+ (merge 8cbc57c ph/rebase-i-redo later to maint).
193+
194+ * The connection initiation code for "ssh" transport tried to absorb
195+ differences between the stock "ssh" and Putty-supplied "plink" and
196+ its derivatives, but the logic to tell that we are using "plink"
197+ variants were too loose and falsely triggered when "plink" appeared
198+ anywhere in the path (e.g. "/home/me/bin/uplink/ssh").
199+ (merge baaf233 bc/connect-plink later to maint).
200+
201+ * "git stash pop/apply" forgot to make sure that not just the working
202+ tree is clean but also the index is clean. The latter is important
203+ as a stash application can conflict and the index will be used for
204+ conflict resolution.
205+ (merge ed178ef jk/stash-require-clean-index later to maint).
206+
207+ * We have prepended $GIT_EXEC_PATH and the path "git" is installed in
208+ (typically "/usr/bin") to $PATH when invoking subprograms and hooks
209+ for almost eternity, but the original use case the latter tried to
210+ support was semi-bogus (i.e. install git to /opt/foo/git and run it
211+ without having /opt/foo on $PATH), and more importantly it has
212+ become less and less relevant as Git grew more mainstream (i.e. the
213+ users would _want_ to have it on their $PATH). Stop prepending the
214+ path in which "git" is installed to users' $PATH, as that would
215+ interfere the command search order people depend on (e.g. they may
216+ not like versions of programs that are unrelated to Git in /usr/bin
217+ and want to override them by having different ones in /usr/local/bin
218+ and have the latter directory earlier in their $PATH).
219+ (merge a0b4507 jk/git-no-more-argv0-path-munging later to maint).
220+
221+ * core.excludesfile (defaulting to $XDG_HOME/git/ignore) is supposed
222+ to be overridden by repository-specific .git/info/exclude file, but
223+ the order was swapped from the beginning. This belatedly fixes it.
224+ (merge 099d2d8 jc/gitignore-precedence later to maint).
225+
226+ * After "git add -N", the path appeared in output of "git diff HEAD"
227+ and "git diff --cached HEAD", leading "git status" to classify it
228+ as "Changes to be committed". Such a path, however, is not yet to
229+ be scheduled to be committed. "git diff" showed the change to the
230+ path as modification, not as a "new file", in the header of its
231+ output.
232+
233+ Treat such paths as "yet to be added to the index but Git already
234+ know about them"; "git diff HEAD" and "git diff --cached HEAD"
235+ should not talk about them, and "git diff" should show them as new
236+ files yet to be added to the index.
237+ (merge d95d728 nd/diff-i-t-a later to maint).
238+
159239 * Code cleanups and documentation updates.
160240 (merge 0269f96 mm/usage-log-l-can-take-regex later to maint).
161241 (merge 64f2589 nd/t1509-chroot-test later to maint).
@@ -164,3 +244,4 @@ notes for details).
164244 (merge 846e5df pt/xdg-config-path later to maint).
165245 (merge 1154aa4 jc/plug-fmt-merge-msg-leak later to maint).
166246 (merge 319b678 jk/sha1-file-reduce-useless-warnings later to maint).
247+ (merge 9a35c14 fg/document-commit-message-stripping later to maint).
0 commit comments