2020-01-12 00:36:56 +01:00
|
|
|
GIT v1.6.4 Release Notes
|
|
|
|
========================
|
|
|
|
|
|
|
|
With the next major release, "git push" into a branch that is
|
|
|
|
currently checked out will be refused by default. You can choose
|
|
|
|
what should happen upon such a push by setting the configuration
|
|
|
|
variable receive.denyCurrentBranch in the receiving repository.
|
|
|
|
|
|
|
|
To ease the transition plan, the receiving repository of such a
|
|
|
|
push running this release will issue a big warning when the
|
|
|
|
configuration variable is missing. Please refer to:
|
|
|
|
|
|
|
|
http://git.or.cz/gitwiki/GitFaq#non-bare
|
2020-11-21 19:20:35 +01:00
|
|
|
https://lore.kernel.org/git/7vbptlsuyv.fsf@gitster.siamese.dyndns.org/
|
2020-01-12 00:36:56 +01:00
|
|
|
|
|
|
|
for more details on the reason why this change is needed and the
|
|
|
|
transition plan.
|
|
|
|
|
|
|
|
For a similar reason, "git push $there :$killed" to delete the branch
|
|
|
|
$killed in a remote repository $there, if $killed branch is the current
|
|
|
|
branch pointed at by its HEAD, gets a large warning. You can choose what
|
|
|
|
should happen upon such a push by setting the configuration variable
|
|
|
|
receive.denyDeleteCurrent in the receiving repository.
|
|
|
|
|
|
|
|
|
|
|
|
Updates since v1.6.3
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
(subsystems)
|
|
|
|
|
|
|
|
* gitweb Perl style clean-up.
|
|
|
|
|
|
|
|
* git-svn updates, including a new --authors-prog option to map author
|
|
|
|
names by invoking an external program, 'git svn reset' to unwind
|
|
|
|
'git svn fetch', support for more than one branches, documenting
|
|
|
|
of the useful --minimize-url feature, new "git svn gc" command, etc.
|
|
|
|
|
|
|
|
(portability)
|
|
|
|
|
|
|
|
* We feed iconv with "UTF-8" instead of "utf8"; the former is
|
|
|
|
understood more widely. Similarly updated test scripts to use
|
|
|
|
encoding names more widely understood (e.g. use "ISO8859-1" instead
|
|
|
|
of "ISO-8859-1").
|
|
|
|
|
|
|
|
* Various portability fixes/workarounds for different vintages of
|
|
|
|
SunOS, IRIX, and Windows.
|
|
|
|
|
|
|
|
* Git-over-ssh transport on Windows supports PuTTY plink and TortoisePlink.
|
|
|
|
|
|
|
|
(performance)
|
|
|
|
|
|
|
|
* Many repeated use of lstat() are optimized out in "checkout" codepath.
|
|
|
|
|
|
|
|
* git-status (and underlying git-diff-index --cached) are optimized
|
|
|
|
to take advantage of cache-tree information in the index.
|
|
|
|
|
|
|
|
(usability, bells and whistles)
|
|
|
|
|
|
|
|
* "git add --edit" lets users edit the whole patch text to fine-tune what
|
|
|
|
is added to the index.
|
|
|
|
|
|
|
|
* "git am" accepts StGIT series file as its input.
|
|
|
|
|
|
|
|
* "git bisect skip" skips to a more randomly chosen place in the hope
|
|
|
|
to avoid testing a commit that is too close to a commit that is
|
|
|
|
already known to be untestable.
|
|
|
|
|
|
|
|
* "git cvsexportcommit" learned -k option to stop CVS keywords expansion
|
|
|
|
|
|
|
|
* "git fast-export" learned to handle history simplification more
|
|
|
|
gracefully.
|
|
|
|
|
|
|
|
* "git fast-export" learned an option --tag-of-filtered-object to handle
|
|
|
|
dangling tags resulting from history simplification more usefully.
|
|
|
|
|
|
|
|
* "git grep" learned -p option to show the location of the match using the
|
|
|
|
same context hunk marker "git diff" uses.
|
|
|
|
|
|
|
|
* https transport can optionally be told that the used client
|
|
|
|
certificate is password protected, in which case it asks the
|
|
|
|
password only once.
|
|
|
|
|
|
|
|
* "git imap-send" is IPv6 aware.
|
|
|
|
|
|
|
|
* "git log --graph" draws graphs more compactly by using horizontal lines
|
|
|
|
when able.
|
|
|
|
|
|
|
|
* "git log --decorate" shows shorter refnames by stripping well-known
|
|
|
|
refs/* prefix.
|
|
|
|
|
|
|
|
* "git push $name" honors remote.$name.pushurl if present before
|
|
|
|
using remote.$name.url. In other words, the URL used for fetching
|
|
|
|
and pushing can be different.
|
|
|
|
|
|
|
|
* "git send-email" understands quoted aliases in .mailrc files (might
|
|
|
|
have to be backported to 1.6.3.X).
|
|
|
|
|
|
|
|
* "git send-email" can fetch the sender address from the configuration
|
|
|
|
variable "sendmail.from" (and "sendmail.<identity>.from").
|
|
|
|
|
|
|
|
* "git show-branch" can color its output.
|
|
|
|
|
|
|
|
* "add" and "update" subcommands to "git submodule" learned --reference
|
|
|
|
option to use local clone with references.
|
|
|
|
|
|
|
|
* "git submodule update" learned --rebase option to update checked
|
|
|
|
out submodules by rebasing the local changes.
|
|
|
|
|
|
|
|
* "gitweb" can optionally use gravatar to adorn author/committer names.
|
|
|
|
|
|
|
|
(developers)
|
|
|
|
|
|
|
|
* A major part of the "git bisect" wrapper has moved to C.
|
|
|
|
|
|
|
|
* Formatting with the new version of AsciiDoc 8.4.1 is now supported.
|
|
|
|
|
|
|
|
Fixes since v1.6.3
|
|
|
|
------------------
|
|
|
|
|
|
|
|
All of the fixes in v1.6.3.X maintenance series are included in this
|
|
|
|
release, unless otherwise noted.
|
|
|
|
|
|
|
|
Here are fixes that this release has, but have not been backported to
|
|
|
|
v1.6.3.X series.
|
|
|
|
|
|
|
|
* "git diff-tree -r -t" used to omit new or removed directories from
|
|
|
|
the output. df533f3 (diff-tree -r -t: include added/removed
|
|
|
|
directories in the output, 2009-06-13) may need to be cherry-picked
|
|
|
|
to backport this fix.
|
|
|
|
|
|
|
|
* The way Git.pm sets up a Repository object was not friendly to callers
|
|
|
|
that chdir around. It now internally records the repository location
|
|
|
|
as an absolute path when autodetected.
|
|
|
|
|
|
|
|
* Removing a section with "git config --remove-section", when its
|
|
|
|
section header has a variable definition on the same line, lost
|
|
|
|
that variable definition.
|
|
|
|
|
|
|
|
* "git rebase -p --onto" used to always leave side branches of a merge
|
|
|
|
intact, even when both branches are subject to rewriting.
|
|
|
|
|
|
|
|
* "git repack" used to faithfully follow grafts and considered true
|
|
|
|
parents recorded in the commit object unreachable from the commit.
|
|
|
|
After such a repacking, you cannot remove grafts without corrupting
|
|
|
|
the repository.
|
|
|
|
|
|
|
|
* "git send-email" did not detect erroneous loops in alias expansion.
|