Skip to content

Commit 69d71ec

Browse files
committed
The first batch for 2.18 cycle
Signed-off-by: Junio C Hamano <[email protected]>
1 parent cbf0339 commit 69d71ec

File tree

3 files changed

+69
-2
lines changed

3 files changed

+69
-2
lines changed

Documentation/RelNotes/2.18.0.txt

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
Git 2.18 Release Notes
2+
======================
3+
4+
Updates since v2.17
5+
-------------------
6+
7+
UI, Workflows & Features
8+
9+
* Rename detection logic in "diff" family that is used in "merge" has
10+
learned to guess when all of x/a, x/b and x/c have moved to z/a,
11+
z/b and z/c, it is likely that x/d added in the meantime would also
12+
want to move to z/d by taking the hint that the entire directory
13+
'x' moved to 'z'. A bug causing dirty files involved in a rename
14+
to be overwritten during merge has also been fixed as part of this
15+
work.
16+
17+
* "git filter-branch" learned to use a different exit code to allow
18+
the callers to tell the case where there was no new commits to
19+
rewrite from other error cases.
20+
21+
22+
23+
Performance, Internal Implementation, Development Support etc.
24+
25+
* A "git fetch" from a repository with insane number of refs into a
26+
repository that is already up-to-date still wasted too many cycles
27+
making many lstat(2) calls to see if these objects at the tips
28+
exist as loose objects locally. These lstat(2) calls are optimized
29+
away by enumerating all loose objects beforehand.
30+
It is unknown if the new strategy negatively affects existing use
31+
cases, fetching into a repository with many loose objects from a
32+
repository with small number of refs.
33+
34+
* Git can be built to use either v1 or v2 of the PCRE library, and so
35+
far, the build-time configuration USE_LIBPCRE=YesPlease instructed
36+
the build procedure to use v1, but now it means v2. USE_LIBPCRE1
37+
and USE_LIBPCRE2 can be used to explicitly choose which version to
38+
use, as before.
39+
40+
* The build procedure learned to optionally use symbolic links
41+
(instead of hardlinks and copies) to install "git-foo" for built-in
42+
commands, whose binaries are all identical.
43+
44+
* Conversion from uchar[20] to struct object_id continues.
45+
46+
* The way "git worktree prune" worked internally has been simplified,
47+
by assuming how "git worktree move" moves an existing worktree to a
48+
different place.
49+
50+
Also contains various documentation updates and code clean-ups.
51+
52+
53+
Fixes since v2.17
54+
-----------------
55+
56+
* "git shortlog cruft" aborted with a BUG message when run outside a
57+
Git repository. The command has been taught to complain about
58+
extra and unwanted arguments on its command line instead in such a
59+
case.
60+
(merge 4aa0161e83 ma/shortlog-revparse later to maint).
61+
62+
* "git stash push -u -- <pathspec>" gave an unnecessary and confusing
63+
error message when there was no tracked files that match the
64+
<pathspec>, which has been fixed.
65+
(merge 353278687e tg/stash-untracked-with-pathspec-fix later to maint).
66+
67+
* Other minor doc, test and build updates and code cleanups.

GIT-VERSION-GEN

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/sh
22

33
GVF=GIT-VERSION-FILE
4-
DEF_VER=v2.17.0
4+
DEF_VER=v2.17.GIT
55

66
LF='
77
'

RelNotes

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
Documentation/RelNotes/2.17.0.txt
1+
Documentation/RelNotes/2.18.0.txt

0 commit comments

Comments
 (0)