Skip to content

Commit 6c1249c

Browse files
committed
Third batch for 2.5 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 4295abc commit 6c1249c

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

Documentation/RelNotes/2.5.0.txt

+81
Original file line numberDiff line numberDiff line change
@@ -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

3357
Performance, 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

Comments
 (0)