Initial batch post 2.19
Junio C Hamano committed
Sep 17, 2018 at 14:15 UTC
2d3b1c576c85b7f5db1f418907af00ab88e0c303
3 files changed
+113
-2
GIT-VERSION-GEN
+1
-1
@@ -1,7 +1,7 @@
1
#!/bin/sh
2
3
GVF=GIT-VERSION-FILE
4
-DEF_VER=v2.19.0
4
+DEF_VER=v2.19.GIT
5
6
LF='
7
'
RelNotes
deleted
-1
@@ -1 +0,0 @@
1
-Documentation/RelNotes/2.19.0.txt
\ No newline at end of file
RelNotes
new
+112
@@ -0,0 +1,112 @@
1
+Git Release Notes
2
+=================
3
+
4
+Backward Compatibility Notes
5
+----------------------------
6
+
7
+ * "git branch -l <foo>" used to be a way to ask a reflog to be
8
+ created while creating a new branch, but that is no longer the
9
+ case. It is a short-hand for "git branch --list <foo>" now.
10
+
11
+ * "git push" into refs/tags/* hierarchy is rejected without getting
12
+ forced, but "git fetch" (misguidedly) used the "fast forwarding"
13
+ rule used for the refs/heads/* hierarchy; this has been corrected,
14
+ which means some fetches of tags that did not fail with older
15
+ version of Git will fail without "--force" with this version.
16
+
17
+
18
+Updates since v2.19
19
+-------------------
20
+
21
+UI, Workflows & Features
22
+
23
+ * Running "git clone" against a project that contain two files with
24
+ pathnames that differ only in cases on a case insensitive
25
+ filesystem would result in one of the files lost because the
26
+ underlying filesystem is incapable of holding both at the same
27
+ time. An attempt is made to detect such a case and warn.
28
+
29
+ * "git checkout -b newbranch [HEAD]" should not have to do as much as
30
+ checking out a commit different from HEAD. An attempt is made to
31
+ optimize this special case.
32
+
33
+ * "git rev-list --stdin </dev/null" used to be an error; it now shows
34
+ no output without an error. "git rev-list --stdin --default HEAD"
35
+ still falls back to the given default when nothing is given on the
36
+ standard input.
37
+
38
+ * Lift code from GitHub to restrict delta computation so that an
39
+ object that exists in one fork is not made into a delta against
40
+ another object that does not appear in the same forked repository.
41
+
42
+ * "git format-patch" learned new "--interdiff" and "--range-diff"
43
+ options to explain the difference between this version and the
44
+ previous attempt in the cover letter (or after the tree-dashes as
45
+ a comment).
46
+
47
+ * "git mailinfo" used in "git am" learned to make a best-effort
48
+ recovery of a patch corrupted by MUA that sends text/plain with
49
+ format=flawed option.
50
+ (merge 3aa4d81f88 rs/mailinfo-format-flowed later to maint).
51
+
52
+ * The rules used by "git push" and "git fetch" to determine if a ref
53
+ can or cannot be updated were inconsistent; specifically, fetching
54
+ to update existing tags were allowed even though tags are supposed
55
+ to be unmoving anchoring points. "git fetch" was taught to forbid
56
+ updates to existing tags without the "--force" option.
57
+
58
+
59
+Performance, Internal Implementation, Development Support etc.
60
+
61
+ * When there are too many packfiles in a repository (which is not
62
+ recommended), looking up an object in these would require
63
+ consulting many pack .idx files; a new mechanism to have a single
64
+ file that consolidates all of these .idx files is introduced.
65
+
66
+ * "git submodule update" is getting rewritten piece-by-piece into C.
67
+
68
+ * The code for computing history reachability has been shuffled,
69
+ obtained a bunch of new tests to cover them, and then being
70
+ improved.
71
+
72
+ * The unpack_trees() API used in checking out a branch and merging
73
+ walks one or more trees along with the index. When the cache-tree
74
+ in the index tells us that we are walking a tree whose flattened
75
+ contents is known (i.e. matches a span in the index), as linearly
76
+ scanning a span in the index is much more efficient than having to
77
+ open tree objects recursively and listing their entries, the walk
78
+ can be optimized, which has been done.
79
+
80
+ * When creating a thin pack, which allows objects to be made into a
81
+ delta against another object that is not in the resulting pack but
82
+ is known to be present on the receiving end, the code learned to
83
+ take advantage of the reachability bitmap; this allows the server
84
+ to send a delta against a base beyond the "boundary" commit.
85
+
86
+ * spatch transformation to replace boolean uses of !hashcmp() to
87
+ newly introduced oideq() is added, and applied, to regain
88
+ performance lost due to support of multiple hash algorithms.
89
+
90
+ * Fix a bug in which the same path could be registered under multiple
91
+ worktree entries if the path was missing (for instance, was removed
92
+ manually). Also, as a convenience, expand the number of cases in
93
+ which --force is applicable.
94
+
95
+
96
+Fixes since v2.19
97
+-----------------
98
+
99
+ * "git interpret-trailers" and its underlying machinery had a buggy
100
+ code that attempted to ignore patch text after commit log message,
101
+ which triggered in various codepaths that will always get the log
102
+ message alone and never get such an input.
103
+ (merge 66e83d9b41 jk/trailer-fixes later to maint).
104
+
105
+ * Malformed or crafted data in packstream can make our code attempt
106
+ to read or write past the allocated buffer and abort, instead of
107
+ reporting an error, which has been fixed.
108
+
109
+ * Code cleanup, docfix, build fix, etc.
110
+ (merge 96a7501aad ts/doc-build-manpage-xsl-quietly later to maint).
111
+ (merge b9b07efdb2 tg/conflict-marker-size later to maint).
112
+ (merge fa0aeea770 sg/doc-trace-appends later to maint).