]>
Commit | Line | Data |
---|---|---|
10c78a16 JH |
1 | Git 2.14 Release Notes |
2 | ====================== | |
3 | ||
cac25fc3 | 4 | Backward compatibility notes and other notable changes. |
10c78a16 JH |
5 | |
6 | * Use of an empty string as a pathspec element that is used for | |
7 | 'everything matches' is still warned and Git asks users to use a | |
8 | more explicit '.' for that instead. The hope is that existing | |
9 | users will not mind this change, and eventually the warning can be | |
10 | turned into a hard error, upgrading the deprecation into removal of | |
11 | this (mis)feature. That is not scheduled to happen in the upcoming | |
12 | release (yet). | |
13 | ||
14 | * Git now avoids blindly falling back to ".git" when the setup | |
15 | sequence said we are _not_ in Git repository. A corner case that | |
16 | happens to work right now may be broken by a call to die("BUG"). | |
17 | We've tried hard to locate such cases and fixed them, but there | |
18 | might still be cases that need to be addressed--bug reports are | |
19 | greatly appreciated. | |
20 | ||
b3a847d1 JH |
21 | * The experiment to improve the hunk-boundary selection of textual |
22 | diff output has finished, and the "indent heuristics" has now | |
23 | become the default. | |
24 | ||
cac25fc3 JH |
25 | * Git can now be built with PCRE v2 instead of v1 of the PCRE |
26 | library. Replace USE_LIBPCRE=YesPlease with USE_LIBPCRE2=YesPlease | |
27 | in existing build scripts to build against the new version. As the | |
28 | upstream PCRE maintainer has abandoned v1 maintenance for all but | |
29 | the most critical bug fixes, use of v2 is recommended. | |
30 | ||
10c78a16 JH |
31 | |
32 | Updates since v2.13 | |
33 | ------------------- | |
34 | ||
35 | UI, Workflows & Features | |
36 | ||
37 | * The colors in which "git status --short --branch" showed the names | |
38 | of the current branch and its remote-tracking branch are now | |
39 | configurable. | |
40 | ||
41 | * "git clone" learned the "--no-tags" option not to fetch all tags | |
42 | initially, and also set up the tagopt not to follow any tags in | |
43 | subsequent fetches. | |
44 | ||
45 | * "git archive --format=zip" learned to use zip64 extension when | |
46 | necessary to go beyond the 4GB limit. | |
10c78a16 | 47 | |
e83352ef JH |
48 | * "git reset" learned "--recurse-submodules" option. |
49 | ||
50 | * "git diff --submodule=diff" now recurses into nested submodules. | |
e83352ef JH |
51 | |
52 | * "git repack" learned to accept the --threads=<n> option and pass it | |
53 | to pack-objects. | |
54 | ||
0339965c JH |
55 | * "git send-email" learned to run sendemail-validate hook to inspect |
56 | and reject a message before sending it out. | |
0339965c JH |
57 | |
58 | * There is no good reason why "git fetch $there $sha1" should fail | |
59 | when the $sha1 names an object at the tip of an advertised ref, | |
60 | even when the other side hasn't enabled allowTipSHA1InWant. | |
61 | ||
cac25fc3 JH |
62 | * The "[includeIf "gitdir:$dir"] path=..." mechanism introduced in |
63 | 2.13.0 would canonicalize the path of the gitdir being matched, | |
64 | and did not match e.g. "gitdir:~/work/*" against a repo in | |
65 | "~/work/main" if "~/work" was a symlink to "/mnt/storage/work". | |
66 | Now we match both the resolved canonical path and what "pwd" would | |
67 | show. The include will happen if either one matches. | |
0339965c | 68 | |
cac25fc3 JH |
69 | * The "indent" heuristics is now the default in "diff". The |
70 | diff.indentHeuristic configuration variable can be set to "false" | |
71 | for those who do not want it. | |
b3a847d1 | 72 | |
a393b0a4 JH |
73 | * Many commands learned to pay attention to submodule.recurse |
74 | configuration. | |
75 | ||
05ec6e13 JH |
76 | * The convention for a command line is to follow "git cmdname |
77 | --options" with revisions followed by an optional "--" | |
78 | disambiguator and then finally pathspecs. When "--" is not there, | |
79 | we make sure early ones are all interpretable as revs (and do not | |
80 | look like paths) and later ones are the other way around. A | |
81 | pathspec with "magic" (e.g. ":/p/a/t/h" that matches p/a/t/h from | |
82 | the top-level of the working tree, no matter what subdirectory you | |
83 | are working from) are conservatively judged as "not a path", which | |
84 | required disambiguation more often. The command line parser | |
85 | learned to say "it's a pathspec" a bit more often when the syntax | |
86 | looks like so. | |
05ec6e13 JH |
87 | |
88 | * Update "perl-compatible regular expression" support to enable JIT | |
89 | and also allow linking with the newer PCRE v2 library. | |
90 | ||
5402b135 | 91 | * "filter-branch" learned a pseudo filter "--setup" that can be used |
e0aaa1b6 | 92 | to define common functions/variables that can be used by other |
5402b135 JH |
93 | filters. |
94 | ||
a2ba37c5 JH |
95 | * Using "git add d/i/r" when d/i/r is the top of the working tree of |
96 | a separate repository would create a gitlink in the index, which | |
97 | would appear as a not-quite-initialized submodule to others. We | |
98 | learned to give warnings when this happens. | |
99 | ||
cac25fc3 JH |
100 | * "git status" learned to optionally give how many stash entries there |
101 | are in its output. | |
e0aaa1b6 | 102 | |
5116f791 JH |
103 | * "git status" has long shown essentially the same message as "git |
104 | commit"; the message it gives while preparing for the root commit, | |
105 | i.e. "Initial commit", was hard to understand for some new users. | |
106 | Now it says "No commits yet" to stress more on the current status | |
107 | (rather than the commit the user is preparing for, which is more in | |
108 | line with the focus of "git commit"). | |
10c78a16 | 109 | |
cac25fc3 JH |
110 | * "git send-email" now has --batch-size and --relogin-delay options |
111 | which can be used to overcome limitations on SMTP servers that | |
112 | restrict on how many of e-mails can be sent in a single session. | |
8b2efe2a | 113 | |
5e5a7cd9 JH |
114 | * An old message shown in the commit log template was removed, as it |
115 | has outlived its usefulness. | |
116 | ||
f3da2b79 JH |
117 | * "git pull --rebase --recurse-submodules" learns to rebase the |
118 | branch in the submodules to an updated base. | |
119 | ||
9902d365 ÆAB |
120 | * "git log" learned -P as a synonym for --perl-regexp, "git grep" |
121 | already had such a synonym. | |
8b2efe2a | 122 | |
10c78a16 JH |
123 | Performance, Internal Implementation, Development Support etc. |
124 | ||
125 | * The default packed-git limit value has been raised on larger | |
126 | platforms to save "git fetch" from a (recoverable) failure while | |
127 | "gc" is running in parallel. | |
128 | ||
129 | * Code to update the cache-tree has been tightened so that we won't | |
130 | accidentally write out any 0{40} entry in the tree object. | |
10c78a16 JH |
131 | |
132 | * Attempt to allow us notice "fishy" situation where we fail to | |
133 | remove the temporary directory used during the test. | |
134 | ||
135 | * Travis CI gained a task to format the documentation with both | |
136 | AsciiDoc and AsciiDoctor. | |
10c78a16 JH |
137 | |
138 | * Some platforms have ulong that is smaller than time_t, and our | |
139 | historical use of ulong for timestamp would mean they cannot | |
140 | represent some timestamp that the platform allows. Invent a | |
141 | separate and dedicated timestamp_t (so that we can distingiuish | |
142 | timestamps and a vanilla ulongs, which along is already a good | |
143 | move), and then declare uintmax_t is the type to be used as the | |
144 | timestamp_t. | |
145 | ||
1eb43702 JH |
146 | * We can trigger Windows auto-build tester (credits: Dscho & |
147 | Microsoft) from our existing Travis CI tester now. | |
148 | ||
e83352ef JH |
149 | * Conversion from uchar[20] to struct object_id continues. |
150 | ||
0339965c JH |
151 | * Simplify parse_pathspec() codepath and stop it from looking at the |
152 | default in-core index. | |
0339965c JH |
153 | |
154 | * Add perf-test for wildmatch. | |
0339965c JH |
155 | |
156 | * Code from "conversion using external process" codepath has been | |
157 | extracted to a separate sub-process.[ch] module. | |
0339965c JH |
158 | |
159 | * When "git checkout", "git merge", etc. manipulates the in-core | |
160 | index, various pieces of information in the index extensions are | |
161 | discarded from the original state, as it is usually not the case | |
162 | that they are kept up-to-date and in-sync with the operation on the | |
163 | main index. The untracked cache extension is copied across these | |
164 | operations now, which would speed up "git status" (as long as the | |
165 | cache is properly invalidated). | |
e83352ef | 166 | |
826c0641 | 167 | * The internal implementation of "git grep" has seen some clean-up. |
826c0641 | 168 | |
f164c1bf JH |
169 | * Update the C style recommendation for notes for translators, as |
170 | recent versions of gettext tools can work with our style of | |
171 | multi-line comments. | |
b3a847d1 JH |
172 | |
173 | * The implementation of "ref" API around the "packed refs" have been | |
174 | cleaned up, in preparation for further changes. | |
175 | ||
176 | * The internal logic used in "git blame" has been libified to make it | |
177 | easier to use by cgit. | |
f164c1bf | 178 | |
a393b0a4 JH |
179 | * Our code often opens a path to an optional file, to work on its |
180 | contents when we can successfully open it. We can ignore a failure | |
181 | to open if such an optional file does not exist, but we do want to | |
182 | report a failure in opening for other reasons (e.g. we got an I/O | |
183 | error, or the file is there, but we lack the permission to open). | |
184 | ||
185 | The exact errors we need to ignore are ENOENT (obviously) and | |
186 | ENOTDIR (less obvious). Instead of repeating comparison of errno | |
187 | with these two constants, introduce a helper function to do so. | |
188 | ||
189 | * We often try to open a file for reading whose existence is | |
190 | optional, and silently ignore errors from open/fopen; report such | |
191 | errors if they are not due to missing files. | |
192 | ||
05ec6e13 JH |
193 | * When an existing repository is used for t/perf testing, we first |
194 | create bit-for-bit copy of it, which may grab a transient state of | |
195 | the repository and freeze it into the repository used for testing, | |
196 | which then may cause Git operations to fail. Single out "the index | |
197 | being locked" case and forcibly drop the lock from the copy. | |
198 | ||
5402b135 JH |
199 | * Three instances of the same helper function have been consolidated |
200 | to one. | |
5402b135 JH |
201 | |
202 | * "fast-import" uses a default pack chain depth that is consistent | |
203 | with other parts of the system. | |
204 | ||
a2ba37c5 JH |
205 | * A new test to show the interaction between the pattern [^a-z] |
206 | (which matches '/') and a slash in a path has been added. The | |
207 | pattern should not match the slash with "pathmatch", but should | |
208 | with "wildmatch". | |
209 | ||
210 | * The 'diff-highlight' program (in contrib/) has been restructured | |
211 | for easier reuse by an external project 'diff-so-fancy'. | |
a2ba37c5 JH |
212 | |
213 | * A common pattern to free a piece of memory and assign NULL to the | |
214 | pointer that used to point at it has been replaced with a new | |
215 | FREE_AND_NULL() macro. | |
216 | ||
5116f791 JH |
217 | * Traditionally, the default die() routine had a code to prevent it |
218 | from getting called multiple times, which interacted badly when a | |
219 | threaded program used it (one downside is that the real error may | |
220 | be hidden and instead the only error message given to the user may | |
221 | end up being "die recursion detected", which is not very useful). | |
222 | ||
50ff9ea4 JH |
223 | * Introduce a "repository" object to eventually make it easier to |
224 | work in multiple repositories (the primary focus is to work with | |
225 | the superproject and its submodules) in a single process. | |
226 | ||
227 | * Optimize "what are the object names already taken in an alternate | |
228 | object database?" query that is used to derive the length of prefix | |
229 | an object name is uniquely abbreviated to. | |
230 | ||
f3da2b79 JH |
231 | * The hashmap API has been updated so that data to customize the |
232 | behaviour of the comparison function can be specified at the time a | |
233 | hashmap is initialized. | |
234 | ||
10c78a16 JH |
235 | |
236 | Also contains various documentation updates and code clean-ups. | |
237 | ||
238 | ||
239 | Fixes since v2.13 | |
240 | ----------------- | |
241 | ||
242 | Unless otherwise noted, all the fixes since v2.13 in the maintenance | |
243 | track are contained in this release (see the maintenance releases' | |
244 | notes for details). | |
245 | ||
246 | * "git gc" did not interact well with "git worktree"-managed | |
247 | per-worktree refs. | |
248 | ||
249 | * "git cherry-pick" and other uses of the sequencer machinery | |
250 | mishandled a trailer block whose last line is an incomplete line. | |
251 | This has been fixed so that an additional sign-off etc. are added | |
252 | after completing the existing incomplete line. | |
10c78a16 JH |
253 | |
254 | * The codepath in "git am" that is used when running "git rebase" | |
255 | leaked memory held for the log message of the commits being rebased. | |
10c78a16 JH |
256 | |
257 | * "git clone --config var=val" is a way to populate the | |
258 | per-repository configuration file of the new repository, but it did | |
259 | not work well when val is an empty string. This has been fixed. | |
10c78a16 | 260 | |
1eb43702 JH |
261 | * Setting "log.decorate=false" in the configuration file did not take |
262 | effect in v2.13, which has been corrected. | |
1eb43702 JH |
263 | |
264 | * A few codepaths in "checkout" and "am" working on an unborn branch | |
265 | tried to access an uninitialized piece of memory. | |
1eb43702 JH |
266 | |
267 | * The Web interface to gmane news archive is long gone, even though | |
268 | the articles are still accessible via NTTP. Replace the links with | |
269 | ones to public-inbox.org. Because their message identification is | |
270 | based on the actual message-id, it is likely that it will be easier | |
271 | to migrate away from it if/when necessary. | |
1eb43702 JH |
272 | |
273 | * The receive-pack program now makes sure that the push certificate | |
274 | records the same set of push options used for pushing. | |
1eb43702 JH |
275 | |
276 | * Tests have been updated to pass under GETTEXT_POISON (a mechanism | |
277 | to ensure that output strings that should not be translated are | |
278 | not translated by mistake), and TravisCI is told to run them. | |
1eb43702 | 279 | |
e83352ef JH |
280 | * "git checkout --recurse-submodules" did not quite work with a |
281 | submodule that itself has submodules. | |
e83352ef | 282 | |
e83352ef JH |
283 | * "pack-objects" can stream a slice of an existing packfile out when |
284 | the pack bitmap can tell that the reachable objects are all needed | |
285 | in the output, without inspecting individual objects. This | |
286 | strategy however would not work well when "--local" and other | |
287 | options are in use, and need to be disabled. | |
e83352ef JH |
288 | |
289 | * Fix memory leaks pointed out by Coverity (and people). | |
e83352ef JH |
290 | |
291 | * "git read-tree -m" (no tree-ish) gave a nonsense suggestion "use | |
292 | --empty if you want to clear the index". With "-m", such a request | |
293 | will still fail anyway, as you'd need to name at least one tree-ish | |
294 | to be merged. | |
e83352ef JH |
295 | |
296 | * Make sure our tests would pass when the sources are checked out | |
297 | with "platform native" line ending convention by default on | |
298 | Windows. Some "text" files out tests use and the test scripts | |
299 | themselves that are meant to be run with /bin/sh, ought to be | |
300 | checked out with eol=LF even on Windows. | |
e83352ef JH |
301 | |
302 | * Introduce the BUG() macro to improve die("BUG: ..."). | |
e83352ef JH |
303 | |
304 | * Clarify documentation for include.path and includeIf.<condition>.path | |
305 | configuration variables. | |
e83352ef JH |
306 | |
307 | * Git sometimes gives an advice in a rhetorical question that does | |
308 | not require an answer, which can confuse new users and non native | |
309 | speakers. Attempt to rephrase them. | |
e83352ef JH |
310 | |
311 | * A few http:// links that are redirected to https:// in the | |
312 | documentation have been updated to https:// links. | |
e83352ef JH |
313 | |
314 | * "git for-each-ref --format=..." with %(HEAD) in the format used to | |
315 | resolve the HEAD symref as many times as it had processed refs, | |
316 | which was wasteful, and "git branch" shared the same problem. | |
e83352ef JH |
317 | |
318 | * Regression fix to topic recently merged to 'master'. | |
e83352ef JH |
319 | |
320 | * The shell completion script (in contrib/) learned "git stash" has | |
321 | a new "push" subcommand. | |
e83352ef JH |
322 | |
323 | * "git interpret-trailers", when used as GIT_EDITOR for "git commit | |
324 | -v", looked for and appended to a trailer block at the very end, | |
325 | i.e. at the end of the "diff" output. The command has been | |
326 | corrected to pay attention to the cut-mark line "commit -v" adds to | |
327 | the buffer---the real trailer block should appear just before it. | |
e83352ef JH |
328 | |
329 | * A test allowed both "git push" and "git receive-pack" on the other | |
330 | end write their traces into the same file. This is OK on platforms | |
331 | that allows atomically appending to a file opened with O_APPEND, | |
332 | but on other platforms led to a mangled output, causing | |
333 | intermittent test failures. This has been fixed by disabling | |
334 | traces from "receive-pack" in the test. | |
e83352ef JH |
335 | |
336 | * Tag objects, which are not reachable from any ref, that point at | |
337 | missing objects were mishandled by "git gc" and friends (they | |
338 | should silently be ignored instead) | |
e83352ef | 339 | |
0339965c JH |
340 | * "git describe --contains" penalized light-weight tags so much that |
341 | they were almost never considered. Instead, give them about the | |
342 | same chance to be considered as an annotated tag that is the same | |
343 | age as the underlying commit would. | |
0339965c JH |
344 | |
345 | * The "run-command" API implementation has been made more robust | |
346 | against dead-locking in a threaded environment. | |
0339965c JH |
347 | |
348 | * A recent update to t5545-push-options.sh started skipping all the | |
349 | tests in the script when a web server testing is disabled or | |
350 | unavailable, not just the ones that require a web server. Non HTTP | |
351 | tests have been salvaged to always run in this script. | |
0339965c JH |
352 | |
353 | * "git send-email" now uses Net::SMTP::SSL, which is obsolete, only | |
354 | when needed. Recent versions of Net::SMTP can do TLS natively. | |
0339965c | 355 | |
826c0641 JH |
356 | * "foo\bar\baz" in "git fetch foo\bar\baz", even though there is no |
357 | slashes in it, cannot be a nickname for a remote on Windows, as | |
358 | that is likely to be a pathname on a local filesystem. | |
826c0641 JH |
359 | |
360 | * "git clean -d" used to clean directories that has ignored files, | |
361 | even though the command should not lose ignored ones without "-x". | |
362 | "git status --ignored" did not list ignored and untracked files | |
363 | without "-uall". These have been corrected. | |
826c0641 JH |
364 | |
365 | * The result from "git diff" that compares two blobs, e.g. "git diff | |
366 | $commit1:$path $commit2:$path", used to be shown with the full | |
367 | object name as given on the command line, but it is more natural to | |
368 | use the $path in the output and use it to look up .gitattributes. | |
826c0641 | 369 | |
f164c1bf JH |
370 | * The "collision detecting" SHA-1 implementation shipped with 2.13 |
371 | was quite broken on some big-endian platforms and/or platforms that | |
372 | do not like unaligned fetches. Update to the upstream code which | |
373 | has already fixed these issues. | |
f164c1bf JH |
374 | |
375 | * "git am -h" triggered a BUG(). | |
f164c1bf JH |
376 | |
377 | * The interaction of "url.*.insteadOf" and custom URL scheme's | |
378 | whitelisting is now documented better. | |
b3a847d1 JH |
379 | |
380 | * The timestamp of the index file is now taken after the file is | |
381 | closed, to help Windows, on which a stale timestamp is reported by | |
382 | fstat() on a file that is opened for writing and data was written | |
383 | but not yet closed. | |
b3a847d1 JH |
384 | |
385 | * "git pull --rebase --autostash" didn't auto-stash when the local history | |
386 | fast-forwards to the upstream. | |
a393b0a4 JH |
387 | |
388 | * A flaky test has been corrected. | |
f164c1bf | 389 | |
05ec6e13 JH |
390 | * "git $cmd -h" for builtin commands calls the implementation of the |
391 | command (i.e. cmd_$cmd() function) without doing any repository | |
392 | set-up, and the commands that expect RUN_SETUP is done by the Git | |
393 | potty needs to be prepared to show the help text without barfing. | |
394 | (merge d691551192 jk/consistent-h later to maint). | |
395 | ||
5402b135 | 396 | * Help contributors that visit us at GitHub. |
5402b135 JH |
397 | |
398 | * "git stash push <pathspec>" did not work from a subdirectory at all. | |
399 | Bugfix for a topic in v2.13 | |
5402b135 JH |
400 | |
401 | * As there is no portable way to pass timezone information to | |
402 | strftime, some output format from "git log" and friends are | |
403 | impossible to produce. Teach our own strbuf_addftime to replace %z | |
404 | and %Z with caller-supplied values to help working around this. | |
405 | (merge 6eced3ec5e rs/strbuf-addftime-zZ later to maint). | |
406 | ||
a2ba37c5 JH |
407 | * "git mergetool" learned to work around a wrapper MacOS X adds |
408 | around underlying meld. | |
a2ba37c5 JH |
409 | |
410 | * An example in documentation that does not work in multi worktree | |
411 | configuration has been corrected. | |
a2ba37c5 JH |
412 | |
413 | * The pretty-format specifiers like '%h', '%t', etc. had an | |
414 | optimization that no longer works correctly. In preparation/hope | |
415 | of getting it correctly implemented, first discard the optimization | |
416 | that is broken. | |
a2ba37c5 JH |
417 | |
418 | * The code to pick up and execute command alias definition from the | |
419 | configuration used to switch to the top of the working tree and | |
420 | then come back when the expanded alias was executed, which was | |
421 | unnecessarilyl complex. Attempt to simplify the logic by using the | |
422 | early-config mechanism that does not chdir around. | |
a2ba37c5 JH |
423 | |
424 | * Fix configuration codepath to pay proper attention to commondir | |
425 | that is used in multi-worktree situation, and isolate config API | |
426 | into its own header file. | |
427 | (merge dc8441fdb4 bw/config-h later to maint). | |
428 | ||
e0aaa1b6 JH |
429 | * "git add -p" were updated in 2.12 timeframe to cope with custom |
430 | core.commentchar but the implementation was buggy and a | |
431 | metacharacter like $ and * did not work. | |
e0aaa1b6 | 432 | |
5116f791 JH |
433 | * A recent regression in "git rebase -i" has been fixed and tests |
434 | that would have caught it and others have been added. | |
5116f791 | 435 | |
cac25fc3 | 436 | * An unaligned 32-bit access in pack-bitmap code has been corrected. |
5116f791 JH |
437 | |
438 | * Tighten error checks for invalid "git apply" input. | |
5116f791 | 439 | |
cac25fc3 | 440 | * The split index code did not honor core.sharedRepository setting |
50ff9ea4 | 441 | correctly. |
50ff9ea4 | 442 | |
8b2efe2a JH |
443 | * The Makefile rule in contrib/subtree for building documentation |
444 | learned to honour USE_ASCIIDOCTOR just like the main documentation | |
445 | set does. | |
8b2efe2a | 446 | |
8b2efe2a | 447 | * Code clean-up to fix possible buffer over-reading. |
f3da2b79 | 448 | (merge 2d105451c0 rs/apply-avoid-over-reading later to maint). |
8b2efe2a JH |
449 | |
450 | * A few tests that tried to verify the contents of push certificates | |
451 | did not use 'git rev-parse' to formulate the line to look for in | |
452 | the certificate correctly. | |
8b2efe2a | 453 | |
5e5a7cd9 JH |
454 | * Update the character width tables. |
455 | (merge 7560aacd7c bb/unicode-10.0 later to maint). | |
456 | ||
457 | * After "git branch --move" of the currently checked out branch, the | |
458 | code to walk the reflog of HEAD via "log -g" and friends | |
459 | incorrectly stopped at the reflog entry that records the renaming | |
460 | of the branch. | |
5e5a7cd9 | 461 | |
8ba1d661 JH |
462 | * The rewrite of "git branch --list" using for-each-ref's internals |
463 | that happened in v2.13 regressed its handling of color.branch.local; | |
464 | this has been fixed. | |
f3da2b79 JH |
465 | |
466 | * The build procedure has been improved to allow building and testing | |
467 | Git with address sanitizer more easily. | |
468 | (merge 566cf0b3bd jk/build-with-asan later to maint). | |
8ba1d661 | 469 | |
cac25fc3 JH |
470 | * On Cygwin, similar to Windows, "git push //server/share/repository" |
471 | ought to mean a repository on a network share that can be accessed | |
472 | locally, but this did not work correctly due to stripping the double | |
473 | slashes at the beginning. | |
474 | (merge 496f256989 tb/push-to-cygwin-unc-path later to maint). | |
475 | ||
476 | * The progress meter did not give a useful output when we haven't had | |
477 | 0.5 seconds to measure the throughput during the interval. Instead | |
478 | show the overall throughput rate at the end, which is a much more | |
479 | useful number. | |
480 | (merge 0fae1e072a rs/progress-overall-throughput-at-the-end later to maint). | |
481 | ||
482 | * Code clean-up, that makes us in sync with Debian by one patch. | |
483 | (merge 8db1ae5740 jn/hooks-pre-rebase-sample-fix later to maint). | |
484 | ||
485 | * We run an early part of "git gc" that deals with refs before | |
486 | daemonising (and not under lock) even when running a background | |
487 | auto-gc, which caused multiple gc processes attempting to run the | |
488 | early part at the same time. This is now prevented by running the | |
489 | early part also under the GC lock. | |
490 | (merge c45af94dbc jk/gc-pre-detach-under-hook later to maint). | |
491 | ||
10c78a16 | 492 | * Other minor doc, test and build updates and code cleanups. |
5e5a7cd9 | 493 | (merge 3f9c637ec7 pw/unquote-path-in-git-pm later to maint). |
8ba1d661 JH |
494 | (merge 5053313562 rs/urlmatch-cleanup later to maint). |
495 | (merge 42c78a216e rs/use-div-round-up later to maint). | |
496 | (merge 5e8d2729ae rs/wt-status-cleanup later to maint). | |
497 | (merge 01826066b0 ks/fix-rebase-doc-picture later to maint). |