The first batch for 2.18 cycle
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Apr 10, 2018 at 08:31 UTC
69d71ec4433d21f464d83b529432856da2387bba
3 files changed
+69
-2
Documentation/RelNotes/2.18.0.txt
new
+67
@@ -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
+1
-1
@@ -1,7 +1,7 @@
1
#!/bin/sh
2
3
GVF=GIT-VERSION-FILE
4
-DEF_VER=v2.17.0
4
+DEF_VER=v2.17.GIT
5
6
LF='
7
'
RelNotes
+1
-1
@@ -1 +1 @@
1
-Documentation/RelNotes/2.17.0.txt
\ No newline at end of file
1
+Documentation/RelNotes/2.18.0.txt
\ No newline at end of file