Commit | Line | Data |
---|---|---|
c2ece9dc JH |
1 | Git 2.16 Release Notes |
2 | ====================== | |
3 | ||
4 | Backward compatibility notes and other notable changes. | |
5 | ||
6 | * Use of an empty string as a pathspec element that is used for | |
7 | 'everything matches' is now an error. | |
8 | ||
9 | ||
10 | Updates since v2.15 | |
11 | ------------------- | |
12 | ||
13 | UI, Workflows & Features | |
14 | ||
15 | * An empty string as a pathspec element that means "everything" | |
16 | i.e. 'git add ""', is now illegal. We started this by first | |
17 | deprecating and warning a pathspec that has such an element in | |
18 | 2.11 (Nov 2016). | |
19 | ||
7668cbc6 JH |
20 | * A hook script that is set unexecutable is simply ignored. Git |
21 | notifies when such a file is ignored, unless the message is | |
22 | squelched via advice.ignoredHook configuration. | |
23 | ||
24 | * "git pull" has been taught to accept "--[no-]signoff" option and | |
25 | pass it down to "git merge". | |
26 | ||
27 | * The "--push-option=<string>" option to "git push" now defaults to a | |
28 | list of strings configured via push.pushOption variable. | |
29 | ||
30 | * "gitweb" checks if a directory is searchable with Perl's "-x" | |
31 | operator, which can be enhanced by using "filetest 'access'" | |
32 | pragma, which now we do. | |
33 | ||
34 | * "git stash save" has been deprecated in favour of "git stash push". | |
35 | ||
3505ddec JH |
36 | * The set of paths output from "git status --ignored" was tied |
37 | closely with its "--untracked=<mode>" option, but now it can be | |
38 | controlled more flexibly. Most notably, a directory that is | |
39 | ignored because it is listed to be ignored in the ignore/exclude | |
40 | mechanism can be handled differently from a directory that ends up | |
41 | to be ignored only because all files in it are ignored. | |
42 | ||
43 | * The remote-helper for talking to MediaWiki has been updated to | |
44 | truncate an overlong pagename so that ".mw" suffix can still be | |
45 | added. | |
46 | ||
47 | * The remote-helper for talking to MediaWiki has been updated to | |
48 | work with mediawiki namespaces. | |
49 | ||
50 | * The "--format=..." option "git for-each-ref" takes learned to show | |
51 | the name of the 'remote' repository and the ref at the remote side | |
52 | that is affected for 'upstream' and 'push' via "%(push:remotename)" | |
53 | and friends. | |
54 | ||
55 | * Doc and message updates to teach users "bisect view" is a synonym | |
56 | for "bisect visualize". | |
57 | ||
58 | * "git bisect run" that did not specify any command to run used to go | |
59 | ahead and treated all commits to be tested as 'good'. This has | |
60 | been corrected by making the command error out. | |
61 | ||
62 | * The SubmittingPatches document has been converted to produce an | |
63 | HTML version via AsciiDoc/Asciidoctor. | |
64 | (merge 049e64aa50 bc/submitting-patches-in-asciidoc later to maint). | |
65 | ||
c2ece9dc JH |
66 | |
67 | Performance, Internal Implementation, Development Support etc. | |
68 | ||
69 | * An earlier update made it possible to use an on-stack in-core | |
70 | lockfile structure (as opposed to having to deliberately leak an | |
71 | on-heap one). Many codepaths have been updated to take advantage | |
72 | of this new facility. | |
c2ece9dc JH |
73 | |
74 | * Calling cmd_foo() as if it is a general purpose helper function is | |
75 | a no-no. Correct two instances of such to set an example. | |
c2ece9dc JH |
76 | |
77 | * We try to see if somebody runs our test suite with a shell that | |
78 | does not support "local" like bash/dash does. | |
7668cbc6 JH |
79 | |
80 | * An early part of piece-by-piece rewrite of "git bisect" in C. | |
81 | ||
82 | * GSoC to piece-by-piece rewrite "git submodule" in C. | |
83 | ||
84 | * Optimize the code to find shortest unique prefix of object names. | |
85 | ||
86 | * Pathspec-limited revision traversal was taught not to keep finding | |
87 | unneeded differences once it knows two trees are different inside | |
88 | given pathspec. | |
89 | ||
90 | * Conversion from uchar[20] to struct object_id continues. | |
c2ece9dc | 91 | |
4123bcae JH |
92 | * Code cleanup. |
93 | (merge 62a24c8923 rs/hex-to-bytes-cleanup later to maint). | |
94 | ||
95 | * A single-word "unsigned flags" in the diff options is being split | |
96 | into a structure with many bitfields. | |
97 | (merge 0d1e0e7801 bw/diff-opt-impl-to-bitfields later to maint). | |
98 | ||
99 | * TravisCI build updates. | |
4123bcae | 100 | |
3505ddec JH |
101 | * Parts of a test to drive the long-running content filter interface |
102 | has been split into its own module, hopefully to eventually become | |
103 | reusable. | |
104 | (merge 0fe8d516bb cc/git-packet-pm later to maint). | |
105 | ||
106 | * Drop (perhaps overly cautious) sanity check before using the index | |
107 | read from the filesystem at runtime. | |
c2ece9dc JH |
108 | |
109 | Also contains various documentation updates and code clean-ups. | |
110 | ||
111 | ||
112 | Fixes since v2.15 | |
113 | ----------------- | |
114 | ||
115 | * "auto" as a value for the columnar output configuration ought to | |
116 | judge "is the output consumed by humans?" with the same criteria as | |
117 | "auto" for coloured output configuration, i.e. either the standard | |
118 | output stream is going to tty, or a pager is in use. We forgot the | |
119 | latter, which has been fixed. | |
c2ece9dc JH |
120 | |
121 | * The experimental "color moved lines differently in diff output" | |
122 | feature was buggy around "ignore whitespace changes" edges, whihch | |
123 | has been corrected. | |
c2ece9dc JH |
124 | |
125 | * Instead of using custom line comparison and hashing functions to | |
126 | implement "moved lines" coloring in the diff output, use the pair | |
127 | of these functions from lower-layer xdiff/ code. | |
c2ece9dc JH |
128 | |
129 | * Some codepaths did not check for errors when asking what branch the | |
130 | HEAD points at, which have been fixed. | |
c2ece9dc JH |
131 | |
132 | * "git commit", after making a commit, did not check for errors when | |
133 | asking on what branch it made the commit, which has been correted. | |
c2ece9dc JH |
134 | |
135 | * "git status --ignored -u" did not stop at a working tree of a | |
136 | separate project that is embedded in an ignored directory and | |
137 | listed files in that other project, instead of just showing the | |
138 | directory itself as ignored. | |
c2ece9dc JH |
139 | |
140 | * A broken access to object databases in recent update to "git grep | |
141 | --recurse-submodules" has been fixed. | |
c2ece9dc JH |
142 | |
143 | * A recent regression in "git rebase -i" that broke execution of git | |
144 | commands from subdirectories via "exec" insn has been fixed. | |
c2ece9dc | 145 | |
7668cbc6 | 146 | * A (possibly flakey) test fix. |
7668cbc6 JH |
147 | |
148 | * "git check-ref-format --branch @{-1}" bit a "BUG()" when run | |
149 | outside a repository for obvious reasons; clarify the documentation | |
150 | and make sure we do not even try to expand the at-mark magic in | |
151 | such a case, but still call the validation logic for branch names. | |
7668cbc6 JH |
152 | |
153 | * "git fetch --recurse-submodules" now knows that submodules can be | |
154 | moved around in the superproject in addition to getting updated, | |
155 | and finds the ones that need to be fetched accordingly. | |
7668cbc6 JH |
156 | |
157 | * Command line completion (in contrib/) update. | |
7668cbc6 | 158 | |
4123bcae JH |
159 | * Description of blame.{showroot,blankboundary,showemail,date} |
160 | configuration variables have been added to "git config --help". | |
4123bcae JH |
161 | |
162 | * After an error from lstat(), diff_populate_filespec() function | |
163 | sometimes still went ahead and used invalid data in struct stat, | |
164 | which has been fixed. | |
4123bcae JH |
165 | |
166 | * UNC paths are also relevant in Cygwin builds and they are now | |
167 | tested just like Mingw builds. | |
4123bcae JH |
168 | |
169 | * Correct start-up sequence so that a repository could be placed | |
170 | immediately under the root directory again (which was broken at | |
171 | around Git 2.13). | |
4123bcae JH |
172 | |
173 | * The credential helper for libsecret (in contrib/) has been improved | |
174 | to allow possibly prompting the end user to unlock secrets that are | |
175 | currently locked (otherwise the secrets may not be loaded). | |
4123bcae JH |
176 | |
177 | * MinGW updates. | |
3505ddec JH |
178 | |
179 | * Error checking in "git imap-send" for empty response has been | |
180 | improved. | |
181 | (merge 618ec81abb rs/imap-send-next-arg-fix later to maint). | |
182 | ||
183 | * Recent update to the refs infrastructure implementation started | |
184 | rewriting packed-refs file more often than before; this has been | |
185 | optimized again for most trivial cases. | |
186 | (merge 7c6bd25c7d mh/avoid-rewriting-packed-refs later to maint). | |
187 | ||
188 | * Some error messages did not quote filenames shown in it, which have | |
189 | been fixed. | |
190 | (merge 0a288d1ee9 sr/wrapper-quote-filenames later to maint). | |
191 | ||
192 | * "git rebase -i" recently started misbehaving when a submodule that | |
193 | is configured with 'submodule.<name>.ignore' is dirty; this has | |
194 | been corrected. | |
195 | (merge c6d8ccf3a2 bw/rebase-i-ignored-submodule-fix later to maint). | |
196 | ||
197 | * Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed. | |
198 | (merge 2fff1e196d ab/pcre-v2 later to maint). | |
199 | ||
200 | * We used to add an empty alternate object database to the system | |
201 | that does not help anything; it has been corrected. | |
202 | (merge f28e36686a jk/info-alternates-fix later to maint). | |
4123bcae | 203 | |
c2ece9dc | 204 | * Other minor doc, test and build updates and code cleanups. |
3505ddec JH |
205 | (merge 804862209b ao/merge-verbosity-getenv-just-once later to maint). |
206 | (merge 9360ec0002 rs/sequencer-rewrite-file-cleanup later to maint). | |
207 | (merge f4e45cb3eb ma/bisect-leakfix later to maint). | |
208 | (merge 4da72644b7 ma/reduce-heads-leakfix later to maint). | |
209 | (merge 3dc5433fd5 ad/rebase-i-serie-typofix later to maint). | |
210 | (merge 5313bee032 tz/fsf-address-update later to maint). | |
211 | (merge 5555a2aa4b cb/t4201-robustify later to maint). |