| 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. |
| |
| * 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). |
| |
| * 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). |