mirror of
https://github.com/git/git.git
synced 2026-04-08 16:00:09 +02:00
167 lines
7.0 KiB
Plaintext
167 lines
7.0 KiB
Plaintext
Git v1.7.12 Release Notes
|
|
=========================
|
|
|
|
Updates since v1.7.11
|
|
---------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* Per-user $HOME/.gitconfig file can optionally be stored in
|
|
$HOME/.config/git/config instead, which is in line with XDG.
|
|
|
|
* The value of core.attributesfile and core.excludesfile default to
|
|
$HOME/.config/attributes and $HOME/.config/ignore respectively when
|
|
these files exist.
|
|
|
|
* Scripted Porcelain writers now have access to the credential API via
|
|
the "git credential" plumbing command.
|
|
|
|
* "git help" used to always default to "man" format even on platforms
|
|
where "man" viewer is not widely available.
|
|
|
|
* "git clone --local $path" started its life as an experiment to
|
|
optionally use link/copy when cloning a repository on the disk, but
|
|
we didn't deprecate it after we made the option a no-op to always
|
|
use the optimization. The command learned "--no-local" option to
|
|
turn this off, as a more explicit alternative over use of file://
|
|
URL.
|
|
|
|
* "git fetch" and friends used to say "remote side hung up
|
|
unexpectedly" when they failed to get response they expect from the
|
|
other side, but one common reason why they don't get expected
|
|
response is that the remote repository does not exist or cannot be
|
|
read. The error message in this case was updated to give better
|
|
hints to the user.
|
|
|
|
* git native protocol agents learned to show software version over
|
|
the wire, so that the server log can be examined to see the vintage
|
|
distribution of clients.
|
|
|
|
* "git help -w $cmd" can show HTML version of documentation for
|
|
"git-$cmd" by setting help.htmlpath to somewhere other than the
|
|
default location where the build procedure installs them locally;
|
|
the variable can even point at a http:// URL.
|
|
|
|
* "git rebase -i" learned "-x <cmd>" to insert "exec <cmd>" after
|
|
each commit in the resulting history.
|
|
|
|
* "git status" gives finer classification to various states of paths
|
|
in conflicted state and offer advice messages in its output.
|
|
|
|
* "git submodule" learned to deal with nested submodule structure
|
|
where a module is contained within a module whose origin is
|
|
specified as a relative URL to its superproject's origin.
|
|
|
|
* A rather heavy-ish "git completion" script has been split to create
|
|
a separate "git prompting" script, to help lazy-autoloading of the
|
|
completion part while making prompting part always available.
|
|
|
|
|
|
Foreign Interface
|
|
|
|
|
|
Performance, Internal Implementation, etc. (please report possible regressions)
|
|
|
|
* Some tests showed false failures caused by a bug in ecryptofs.
|
|
|
|
* We no longer use AsciiDoc7 syntax in our documentation and favor a
|
|
more modern style.
|
|
|
|
* "git index-pack" and "git pack-objects" use streaming API to read
|
|
from the object store to avoid having to hold a large blob object
|
|
in-core while they are doing their thing.
|
|
|
|
* Code to match paths with exclude patterns learned to avoid calling
|
|
fnmatch() by comparing fixed leading substring literally when
|
|
possible.
|
|
|
|
|
|
Also contains minor documentation updates and code clean-ups.
|
|
|
|
|
|
Fixes since v1.7.11
|
|
-------------------
|
|
|
|
Unless otherwise noted, all the fixes since v1.7.11 in the maintenance
|
|
releases are contained in this release (see release notes to them for
|
|
details).
|
|
|
|
* We did not have test to make sure "git rebase" without extra options
|
|
filters out an empty commit in the original history.
|
|
(merge 2b5ba7b mz/empty-rebase-test later to maint).
|
|
|
|
* "git fast-export" produced an input stream for fast-import without
|
|
properly quoting pathnames when they contain SPs in them.
|
|
(merge ff59f6d js/fast-export-paths-with-spaces later to maint).
|
|
|
|
* "git checkout --detach", when you are still on an unborn branch,
|
|
should be forbidden, but it wasn't.
|
|
(merge 8ced1aa cw/no-detaching-an-unborn later to maint).
|
|
|
|
* Some implementations of Perl terminates "lines" with CRLF even when
|
|
the script is operating on just a sequence of bytes. Make sure to
|
|
use "$PERL_PATH", the version of Perl the user told Git to use, in
|
|
our tests to avoid unnecessary breakages in tests.
|
|
(merge ad78585 vr/use-our-perl-in-tests later to maint).
|
|
|
|
* "git blame" did not try to make sure that the abbreviated commit
|
|
object names in its output are unique.
|
|
(merge b31272f jc/maint-blame-unique-abbrev later to maint).
|
|
|
|
* On Cygwin, the platform pread(2) is not thread safe, just like our
|
|
own compat/ emulation, and cannot be used in the index-pack
|
|
program. Makefile variable NO_THREAD_SAFE_PREAD can be defined to
|
|
avoid use of this function in a threaded program.
|
|
(merge c0f8654 rj/platform-pread-may-be-thread-unsafe later to maint).
|
|
|
|
* "git clone --single-branch" to clone a single branch did not limit
|
|
the cloning to the specified branch.
|
|
(merge 0ec4b16 nd/clone-single-fix later to maint).
|
|
|
|
* "git diff --no-index" did not correctly handle relative paths and
|
|
did not correctly give exit codes when run under "--quiet" option.
|
|
(merge 304970d th/diff-no-index-fixes later to maint).
|
|
|
|
* When "git log" gets "--simplify-merges/by-decoration" together with
|
|
"--first-parent", the combination of these options makes the
|
|
simplification logic to use in-core commit objects that haven't
|
|
been examined for relevance, either producing incorrect result or
|
|
taking too long to produce any output. Teach the simplification
|
|
logic to ignore commits that the first-parent traversal logic
|
|
ignored when both are in effect to work around the issue.
|
|
(merge 6e513ba jc/rev-list-simplify-merges-first-parent later to maint).
|
|
|
|
* "git add" allows adding a regular file to the path where a
|
|
submodule used to exist, but "git update-index" does not allow an
|
|
equivalent operation to Porcelain writers.
|
|
(merge 242f55f hv/submodule-update-nuke-submodules later to maint).
|
|
|
|
* "git diff --no-index" did not work with pagers correctly.
|
|
(merge af63b54 jk/diff-no-index-pager later to maint).
|
|
|
|
* "git diff COPYING HEAD:COPYING" gave a nonsense error message that
|
|
claimed that the treeish HEAD did not have COPYING in it.
|
|
(merge 023e37c mm/verify-filename-fix later to maint).
|
|
|
|
* The documentation for "git cherry-pick A B..C" was misleading.
|
|
(merge b98878e cn/cherry-pick-range-docs later to maint).
|
|
|
|
* "git archive" incorrectly computed the header checksum; the symptom
|
|
was observed only when using pathnames with hi-bit set.
|
|
(merge a5a46eb jc/ustar-checksum-is-unsigned later to maint).
|
|
|
|
* Running "git bundle verify" on a bundle that records a complete
|
|
history said "it requires these 0 commits".
|
|
(merge 8c3710f jc/bundle-complete-notice later to maint).
|
|
|
|
* "git ls-files --exclude=t -i" did not consider anything under t/ as
|
|
excluded, as it did not pay attention to exclusion of leading paths
|
|
while walking the index. Other two users of excluded() are also
|
|
updated.
|
|
(merge 0d316f0 jc/ls-files-i-dir later to maint).
|
|
|
|
* "git request-pull $url dev" when the tip of "dev" branch was tagged
|
|
with "ext4-for-linus" used the contents from the tag in the output
|
|
but still asked the "dev" branch to be pulled, not the tag.
|
|
(merge 682853e jc/request-pull-match-tagname later to maint).
|