719c7020ab
Signed-off-by: Junio C Hamano <gitster@pobox.com>
209 lines
7.9 KiB
Plaintext
209 lines
7.9 KiB
Plaintext
Git 2.16 Release Notes
|
|
======================
|
|
|
|
Backward compatibility notes and other notable changes.
|
|
|
|
* Use of an empty string as a pathspec element that is used for
|
|
'everything matches' is now an error.
|
|
|
|
|
|
Updates since v2.15
|
|
-------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* An empty string as a pathspec element that means "everything"
|
|
i.e. 'git add ""', is now illegal. We started this by first
|
|
deprecating and warning a pathspec that has such an element in
|
|
2.11 (Nov 2016).
|
|
|
|
* A hook script that is set unexecutable is simply ignored. Git
|
|
notifies when such a file is ignored, unless the message is
|
|
squelched via advice.ignoredHook configuration.
|
|
|
|
* "git pull" has been taught to accept "--[no-]signoff" option and
|
|
pass it down to "git merge".
|
|
|
|
* The "--push-option=<string>" option to "git push" now defaults to a
|
|
list of strings configured via push.pushOption variable.
|
|
|
|
* "gitweb" checks if a directory is searchable with Perl's "-x"
|
|
operator, which can be enhanced by using "filetest 'access'"
|
|
pragma, which now we do.
|
|
|
|
* "git stash save" has been deprecated in favour of "git stash push".
|
|
|
|
* The set of paths output from "git status --ignored" was tied
|
|
closely with its "--untracked=<mode>" option, but now it can be
|
|
controlled more flexibly. Most notably, a directory that is
|
|
ignored because it is listed to be ignored in the ignore/exclude
|
|
mechanism can be handled differently from a directory that ends up
|
|
to be ignored only because all files in it are ignored.
|
|
|
|
* The remote-helper for talking to MediaWiki has been updated to
|
|
truncate an overlong pagename so that ".mw" suffix can still be
|
|
added.
|
|
|
|
* The remote-helper for talking to MediaWiki has been updated to
|
|
work with mediawiki namespaces.
|
|
|
|
* The "--format=..." option "git for-each-ref" takes learned to show
|
|
the name of the 'remote' repository and the ref at the remote side
|
|
that is affected for 'upstream' and 'push' via "%(push:remotename)"
|
|
and friends.
|
|
|
|
* Doc and message updates to teach users "bisect view" is a synonym
|
|
for "bisect visualize".
|
|
|
|
* "git bisect run" that did not specify any command to run used to go
|
|
ahead and treated all commits to be tested as 'good'. This has
|
|
been corrected by making the command error out.
|
|
|
|
* The SubmittingPatches document has been converted to produce an
|
|
HTML version via AsciiDoc/Asciidoctor.
|
|
(merge 049e64aa50 bc/submitting-patches-in-asciidoc later to maint).
|
|
|
|
* We learned to talk to watchman to speed up "git status" and other
|
|
operations that need to see which paths have been modified.
|
|
|
|
|
|
Performance, Internal Implementation, Development Support etc.
|
|
|
|
* An earlier update made it possible to use an on-stack in-core
|
|
lockfile structure (as opposed to having to deliberately leak an
|
|
on-heap one). Many codepaths have been updated to take advantage
|
|
of this new facility.
|
|
|
|
* Calling cmd_foo() as if it is a general purpose helper function is
|
|
a no-no. Correct two instances of such to set an example.
|
|
|
|
* We try to see if somebody runs our test suite with a shell that
|
|
does not support "local" like bash/dash does.
|
|
|
|
* An early part of piece-by-piece rewrite of "git bisect" in C.
|
|
|
|
* GSoC to piece-by-piece rewrite "git submodule" in C.
|
|
|
|
* Optimize the code to find shortest unique prefix of object names.
|
|
|
|
* Pathspec-limited revision traversal was taught not to keep finding
|
|
unneeded differences once it knows two trees are different inside
|
|
given pathspec.
|
|
|
|
* Conversion from uchar[20] to struct object_id continues.
|
|
|
|
* Code cleanup.
|
|
|
|
* A single-word "unsigned flags" in the diff options is being split
|
|
into a structure with many bitfields.
|
|
|
|
* TravisCI build updates.
|
|
|
|
* Parts of a test to drive the long-running content filter interface
|
|
has been split into its own module, hopefully to eventually become
|
|
reusable.
|
|
|
|
* Drop (perhaps overly cautious) sanity check before using the index
|
|
read from the filesystem at runtime.
|
|
|
|
Also contains various documentation updates and code clean-ups.
|
|
|
|
|
|
Fixes since v2.15
|
|
-----------------
|
|
|
|
* "auto" as a value for the columnar output configuration ought to
|
|
judge "is the output consumed by humans?" with the same criteria as
|
|
"auto" for coloured output configuration, i.e. either the standard
|
|
output stream is going to tty, or a pager is in use. We forgot the
|
|
latter, which has been fixed.
|
|
|
|
* The experimental "color moved lines differently in diff output"
|
|
feature was buggy around "ignore whitespace changes" edges, whihch
|
|
has been corrected.
|
|
|
|
* Instead of using custom line comparison and hashing functions to
|
|
implement "moved lines" coloring in the diff output, use the pair
|
|
of these functions from lower-layer xdiff/ code.
|
|
|
|
* Some codepaths did not check for errors when asking what branch the
|
|
HEAD points at, which have been fixed.
|
|
|
|
* "git commit", after making a commit, did not check for errors when
|
|
asking on what branch it made the commit, which has been correted.
|
|
|
|
* "git status --ignored -u" did not stop at a working tree of a
|
|
separate project that is embedded in an ignored directory and
|
|
listed files in that other project, instead of just showing the
|
|
directory itself as ignored.
|
|
|
|
* A broken access to object databases in recent update to "git grep
|
|
--recurse-submodules" has been fixed.
|
|
|
|
* A recent regression in "git rebase -i" that broke execution of git
|
|
commands from subdirectories via "exec" insn has been fixed.
|
|
|
|
* A (possibly flakey) test fix.
|
|
|
|
* "git check-ref-format --branch @{-1}" bit a "BUG()" when run
|
|
outside a repository for obvious reasons; clarify the documentation
|
|
and make sure we do not even try to expand the at-mark magic in
|
|
such a case, but still call the validation logic for branch names.
|
|
|
|
* "git fetch --recurse-submodules" now knows that submodules can be
|
|
moved around in the superproject in addition to getting updated,
|
|
and finds the ones that need to be fetched accordingly.
|
|
|
|
* Command line completion (in contrib/) update.
|
|
|
|
* Description of blame.{showroot,blankboundary,showemail,date}
|
|
configuration variables have been added to "git config --help".
|
|
|
|
* After an error from lstat(), diff_populate_filespec() function
|
|
sometimes still went ahead and used invalid data in struct stat,
|
|
which has been fixed.
|
|
|
|
* UNC paths are also relevant in Cygwin builds and they are now
|
|
tested just like Mingw builds.
|
|
|
|
* Correct start-up sequence so that a repository could be placed
|
|
immediately under the root directory again (which was broken at
|
|
around Git 2.13).
|
|
|
|
* The credential helper for libsecret (in contrib/) has been improved
|
|
to allow possibly prompting the end user to unlock secrets that are
|
|
currently locked (otherwise the secrets may not be loaded).
|
|
|
|
* MinGW updates.
|
|
|
|
* Error checking in "git imap-send" for empty response has been
|
|
improved.
|
|
(merge 618ec81abb rs/imap-send-next-arg-fix later to maint).
|
|
|
|
* Recent update to the refs infrastructure implementation started
|
|
rewriting packed-refs file more often than before; this has been
|
|
optimized again for most trivial cases.
|
|
(merge 7c6bd25c7d mh/avoid-rewriting-packed-refs later to maint).
|
|
|
|
* Some error messages did not quote filenames shown in it, which have
|
|
been fixed.
|
|
|
|
* "git rebase -i" recently started misbehaving when a submodule that
|
|
is configured with 'submodule.<name>.ignore' is dirty; this has
|
|
been corrected.
|
|
|
|
* Building with NO_LIBPCRE1_JIT did not disable it, which has been fixed.
|
|
|
|
* We used to add an empty alternate object database to the system
|
|
that does not help anything; it has been corrected.
|
|
|
|
* Doc update around use of "format-patch --subject-prefix" etc.
|
|
(merge f6be7edcac ad/submitting-patches-title-decoration later to maint).
|
|
|
|
* A fix for an ancient bug in "git apply --ignore-space-change" codepath.
|
|
(merge 6ce15ce576 rs/apply-fuzzy-match-fix later to maint).
|
|
|
|
* Other minor doc, test and build updates and code cleanups.
|
|
(merge f4e45cb3eb ma/bisect-leakfix later to maint).
|
|
(merge 4da72644b7 ma/reduce-heads-leakfix later to maint).
|