- Magic pathspecs like ":(icase)makefile" (matches both Makefile and makefile) and ":(glob)foo/**/bar" (matches "bar" in "foo" and any subdirectory of "foo") can be used in more places.
- The "http.*" configuration variables can now be specified for individual URLs. E.g
[http] sslVerify = true
[http "https://weak.example.com/"] sslVerify = false
would turn on http.sslVerify for everybody, except when talking with the specified URL.
- "git mv A B" when moving a submodule has been taught to relocate the submodule's working tree and to adjust the paths in the .gitmodules file.
- "git blame" can now take more than one -L option to discover the origin of multiple blocks of lines.
- The http transport clients can optionally ask to save cookies with the http.savecookies configuration variable.
- "git push" learned a more fine grained control over a blunt "--force" when requesting a non-fast-forward update with the "--force-with-lease=<refname>:<expected object name>" option.
- "git diff --diff-filter=<classes of changes>" can now take lowercase letters (e.g. "--diff-filter=d") to mean "show everything but these classes". "git diff-files -q" is now a deprecated synonym for "git diff-files --diff-filter=d".
- "git gc" exits early without doing any work when it detects that another instance of itself is already running.
Wednesday, November 27, 2013
The latest release Git 1.8.5 is out. Among many incremental improvements, there are a handful of changes that are worth mentioning: