diff options
Diffstat (limited to 'Documentation/RelNotes')
-rw-r--r-- | Documentation/RelNotes/1.8.0.txt | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/Documentation/RelNotes/1.8.0.txt b/Documentation/RelNotes/1.8.0.txt new file mode 100644 index 0000000000..2503062408 --- /dev/null +++ b/Documentation/RelNotes/1.8.0.txt @@ -0,0 +1,207 @@ +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. + + +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. + + * "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. + +Foreign Interface + + * "git svn" has been updated to work with SVN 1.7. + +Performance, Internal Implementation, etc. (please report possible regressions) + + * 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 to learn the maximum number of file + descriptors we can open around sysconf(_SC_OPEN_MAX) and + getrlimit(RLIMIT_NO_FILE) has been introduced for portability. + + * Compatibility wrapper around some mkdir(2) implementations that + reject parameter with trailing slash has been introduced. + + * 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 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). + + * "git for-each-ref" did not currectly support more than one --sort + option. + (merge 3b51222 kk/maint-for-each-ref-multi-sort later to maint). + + * Pushing to smart HTTP server with recent Git fails without having + the username in the URL to force authentication, if the server is + configured to allow GET anonymously, while requiring authentication + for POST. + (merge b81401c jk/maint-http-half-auth-push 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 synopsis said "checkout [-B branch]" to make it clear the + branch name is a parameter to the option, but the heading for the + option description was "-B::", not "-B branch::", making the + documentation misleading. There may be room in documentation pages + of other commands for similar improvements (hint, hint). + (merge 45aaf03 jc/maint-doc-checkout-b-always-takes-branch-name later to maint). + + * "git log .." errored out saying it is both rev range and a path + when there is no disambiguating "--" is on the command line. + Update the command line parser to interpret ".." as a path in such + a case. + (merge 003c84f jc/dotdot-is-parent-directory later to maint). + + * "git apply -p0" did not parse pathnames on "diff --git" line + correctly. This caused patches that had pathnames in no other + places to be mistakenly rejected (most notably, binary patch that + does not rename nor change mode). Textual patches, renames or mode + changes have preimage and postimage pathnames in different places + in a form that can be parsed unambiguously and did not suffer from + this problem. + (merge 6a2abdc jc/apply-binary-p0 later to maint). + + * The exit status code from "git config" was way overspecified while + being incorrect. The implementation has been updated to give the + documented status for a case that was documented, and introduce a + new code for "all other errors". + (merge 9409c7a jc/maint-config-exit-status later to maint). + + * "git foo" errored out with "Not a directory" when the user had a + non-directory on $PATH, and worse yet it masked an alias "foo" from + running. (merge a785508 jc/maint-sane-execvp-notdir later to + maint). + + * 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 51bbccf jc/send-email-reconfirm later to maint). + + * "git stash apply/pop" did not trigger "rerere" upon conflicts + unlike other mergy operations. + (merge 743bf6d ph/stash-rerere later to maint). + + * "git submodule update -f" did not update paths in the working tree + that has local changes. + (merge 01d4721 sz/submodule-force-update later to maint). + + * We used curl_easy_strerror() without checking version of cURL, + breaking the build for versions before curl 7.12.0. + (merge 4246b0b js/no-curl-easy-strerror-on-old-curl later to maint). + + * Code to work around MacOS X UTF-8 gotcha has been cleaned up. + (merge 9a27f96 rr/precompose-utf8-cleanup later to maint). + + * Documentation for the configuration file format had a confusing + example. + (merge d1e1fe7 mh/maint-config-doc-proxy-command later to maint). + + * "git submodule <cmd> path" did not error out when the path to the + submodule was misspelt. + (merge be9d0a3 hv/submodule-path-unmatch later to maint). + + * Some capabilities were asked by fetch-pack even when upload-pack + did not advertise that they are available. fetch-pack has been + fixed not to do so. + + * The reflog entries left by "git rebase" and "git rebase -i" were + inconsistent (the interactive one gave an abbreviated object name). + (merge 1af221e mg/rebase-i-onto-reflog-in-full later to maint). + + * When the user exports a non-default IFS without HT, scripts that + rely on being able to parse "ls-files -s | while read a b c..." + start to fail. Protect them from such a misconfiguration. + (merge 785063e jc/maint-protect-sh-from-ifs later to maint). + + * "git prune" without "-v" used to warn about leftover temporary + files (which is an indication of an earlier aborted operation). + (merge 90b29cb bc/prune-info later to maint). + + * When "git push" triggered the automatic gc on the receiving end, a + message from "git prune" that said it was removing cruft leaked to + the standard output, breaking the communication protocol. + (merge 4b7f2fa bc/receive-pack-stdout-protection later to maint). + + * "git diff" had a confusion between taking data from a path in the + working tree and taking data from an object that happens to have + name 0{40} recorded in a tree. + (merge c479d14 jk/maint-null-in-trees later to maint). + + * The output from "git diff -B" for a file that ends with an + incomplete line did not put "\ No newline..." on a line of its own. + + * "git send-email" did not unquote encoded words that appear on the + header correctly, and lost "_" from strings. + (merge b622d4d tr/maint-send-email-2047 later to maint). + + * When the user gives an argument that can be taken as both a + revision name and a pathname without disambiguating with "--", we + used to give a help message "Use '--' to separate". The message + has been clarified to show where that '--' goes on the command + line. + (merge 4d4b573 mm/die-with-dashdash-help later to maint). + + * "gitweb" when used with PATH_INFO failed to notice directories with + SP (and other characters that need URL-style quoting) in them. + (merge cacfc09 js/gitweb-path-info-unquote later to maint). |