mirror of
https://github.com/git/git.git
synced 2024-11-25 19:04:18 +08:00
1084f3b844
Signed-off-by: Junio C Hamano <gitster@pobox.com>
164 lines
6.6 KiB
Plaintext
164 lines
6.6 KiB
Plaintext
Git v1.8.0 Release Notes
|
|
========================
|
|
|
|
Backward compatibility notes
|
|
----------------------------
|
|
|
|
In the next major release, we will change the behaviour of the "git
|
|
push" command. When "git push [$there]" does not say what to push, we
|
|
have used the traditional "matching" semantics (all your branches were
|
|
sent to the remote as long as there already are branches of the same
|
|
name over there). We will use the "simple" semantics, that pushes the
|
|
current branch to the branch with the same name only when the current
|
|
branch is set to integrate with that remote branch. There is a user
|
|
preference configuration variable "push.default" to change this, and
|
|
"git push" will warn about the upcoming change until you set this
|
|
variable.
|
|
|
|
"git branch --set-upstream" is deprecated and may be removed in a
|
|
relatively distant future. "git branch [-u|--set-upstream-to]" has
|
|
been introduced with a saner order of arguments.
|
|
|
|
|
|
Updates since v1.7.12
|
|
---------------------
|
|
|
|
UI, Workflows & Features
|
|
|
|
* A credential helper for Win32 to allow access to the keychain of
|
|
the logged-in user has been added.
|
|
|
|
* A credential helper to allow access to the Gnome keyring has been
|
|
added.
|
|
|
|
* It was tempting to say "git branch --set-upstream origin/master",
|
|
but that tells Git to arrange the local branch "origin/master" to
|
|
integrate with the currently checked out branch, which is highly
|
|
unlikely what the user meant. The option is deprecated; use the
|
|
new "--set-upstream-to" (with a short-and-sweet "-u") option
|
|
instead.
|
|
|
|
* "git cherry-pick" learned the "--allow-empty-message" option to
|
|
allow it to replay a commit without any log message.
|
|
|
|
* "git daemon" learned the "--access-hook" option to allow an
|
|
external command to decline service based on the client address,
|
|
repository path, etc.
|
|
|
|
* "git difftool --dir-diff" learned to use symbolic links to prepare
|
|
temporary copy of the working tree when available.
|
|
|
|
* "git grep" learned to use a non-standard pattern type by default if
|
|
a configuration variable tells it to.
|
|
|
|
* "git merge-base" learned "--is-ancestor A B" option to tell if A is
|
|
an ancestor of B. The result is indicated by its exit status code.
|
|
|
|
|
|
Foreign Interface
|
|
|
|
* "git svn" has been updated to work with SVN 1.7.
|
|
|
|
|
|
Performance, Internal Implementation, etc. (please report possible regressions)
|
|
|
|
* Git ships with a fall-back regexp implementation for platforms with
|
|
buggy regexp library, but it was easy for people to keep using their
|
|
platform regexp. A new test has been added to check this.
|
|
|
|
* The "check-docs" build target has been updated and greatly
|
|
simplified.
|
|
|
|
* The documentation in the TeXinfo format was using indented output
|
|
for materials meant to be examples that are better typeset in
|
|
monospace.
|
|
|
|
* Compatibility wrapper around some mkdir(2) implementations that
|
|
reject parameter with trailing slash has been introduced.
|
|
|
|
* Compatibility wrapper for systems that lack usable setitimer() has
|
|
been added.
|
|
|
|
* The option parsing of "git checkout" had error checking, dwim and
|
|
defaulting missing options, all mixed in the code, and issuing an
|
|
appropriate error message with useful context was getting harder.
|
|
The code has been reorganized to allow giving a proper diagnosis
|
|
when the user says "git checkout -b -t foo bar" (e.g. "-t" is not a
|
|
good name for a branch).
|
|
|
|
* Many internal uses of "git merge-base" equivalent were only to see
|
|
if one commit fast-forwards to the other, which did not need the
|
|
full set of merge bases to be computed. They have been updated to
|
|
use less expensive checks.
|
|
|
|
* The heuristics to detect and silently convert latin1 to utf8 when
|
|
we were told to use utf-8 in the log message has been transplanted
|
|
from "mailinfo" to "commit" and "commit-tree".
|
|
|
|
* Messages given by "git <subcommand> -h" from many subcommands have
|
|
been marked for translation.
|
|
|
|
|
|
Also contains minor documentation updates and code clean-ups.
|
|
|
|
|
|
Fixes since v1.7.12
|
|
-------------------
|
|
|
|
Unless otherwise noted, all the fixes since v1.7.12 in the
|
|
maintenance track are contained in this release (see release notes
|
|
to them for details).
|
|
|
|
* "git fetch --all", when passed "--no-tags", did not honor the
|
|
"--no-tags" option while fetching from individual remotes (the same
|
|
issue existed with "--tags", but combination "--all --tags" makes
|
|
much less sense than "--all --no-tags").
|
|
(merge 8556646 dj/fetch-all-tags later to maint).
|
|
|
|
* The subcommand in "git remote" to remove a defined remote was
|
|
"rm" and the command did not take a fully-spelled "remove".
|
|
(merge e17dba8 nd/maint-remote-remove later to maint).
|
|
|
|
* After "gitk" showed the contents of a tag, neither "Reread
|
|
references" nor "Reload" did not update what is shown as the
|
|
contents of it, when the user overwrote the tag with "git tag -f".
|
|
|
|
* "git cvsimport" did not thoroughly cleanse tag names that it
|
|
inferred from the names of the tags it obtained from CVS, which
|
|
caused "git tag" to barf and stop the import in the middle.
|
|
|
|
* "git show --format='%ci'" did not give timestamp correctly for
|
|
commits created without human readable name on "committer" line.
|
|
(merge e27ddb6 jc/maint-ident-missing-human-name later to maint).
|
|
|
|
* "git cherry-pick A C B" used to replay changes in A and then B and
|
|
then C if these three commits had committer timestamps in that
|
|
order, which is not what the user who said "A C B" naturally
|
|
expects.
|
|
(merge a73e22e mz/cherry-pick-cmdline-order later to maint).
|
|
|
|
* "git show --quiet" ought to be a synonym for "git show -s", but
|
|
wasn't.
|
|
(merge f9c75d8 jk/maint-quiet-is-synonym-to-s-in-log later to maint).
|
|
|
|
* "git p4", when "--use-client-spec" and "--detect-branches" are used
|
|
together, misdetected branches.
|
|
(merge 21ef5df pw/p4-use-client-spec-branch-detection later to maint).
|
|
|
|
* Output from "git branch -v" contains "(no branch)" that could be
|
|
localized, but the code to align it along with the names of
|
|
branches were counting in bytes, not in display columns.
|
|
(merge 1452bd6 nd/branch-v-alignment later to maint).
|
|
|
|
* When looking for $HOME/.gitconfig etc., it is OK if we cannot read
|
|
them because they do not exist, but we did not diagnose existing
|
|
files that we cannot read.
|
|
|
|
* The interactive prompt "git send-email" gives was error prone. It
|
|
asked "What e-mail address do you want to use?" with the address it
|
|
guessed (correctly) the user would want to use in its prompt,
|
|
tempting the user to say "y". But the response was taken as "No,
|
|
please use 'y' as the e-mail address instead", which is most
|
|
certainly not what the user meant.
|
|
(merge 6183749 sb/send-email-reconfirm-fix later to maint).
|