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