Merge branch 'master' into next

* master:
  Second half of the fifth batch for 1.8.0
  Further merging down for 1.7.12.1
  Git 1.7.11.6
This commit is contained in:
Junio C Hamano
2012-09-11 11:44:03 -07:00
4 changed files with 98 additions and 90 deletions

View File

@@ -4,59 +4,81 @@ Git v1.7.11.6 Release Notes
Fixes since v1.7.11.5
---------------------
This consists primarily of documentation updates and low-impact code
clarification and bugfixes.
- "ciabot" script (in contrib/) has been updated with extensive
* "ciabot" script (in contrib/) has been updated with extensive
documentation.
- The "--rebase" option to "git pull" can be abbreviated to "-r",
but we didn't document it.
* "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.
- It was generally understood that "--long-option"s to many of our
subcommands can be abbreviated to the unique prefix, but it was not
easy to find it described for new readers of the documentation set.
- The "--topo-order", "--date-order" (and the lack of either means
the default order) options to "rev-list" and "log" family of
commands were poorly described in the documentation.
- Older parts of the documentation described as if having a regular
file in .git/refs/ hierarchy were the only way to have branches and
tags, which is not true for quite some time.
- A utility shell function test_seq has been added as a replacement
for the 'seq' utility found on some platforms.
- Fallback 'getpass' implementation made unportable use of stdio API.
- "git commit --amend" let the user edit the log message and then
died when the human-readable committer name was given
insufficiently by getpwent(3).
- The reflog entries left by "git rebase" and "git rebase -i" were
inconsistent (the interactive one gave an abbreviated object name).
- When the user exports a non-default IFS without HT, scripts that
* 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..."
started to fail. Protect them from such a misconfiguration.
- 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.
- "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.
- "git send-email" did not unquote encoded words that appear on the
header correctly, and lost "_" from strings.
- When the user gives an argument that can be taken as both a
* 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.
- "gitweb" when used with PATH_INFO failed to notice directories with
* Documentation for the configuration file format had a confusing
example.
* Older parts of the documentation described as if having a regular
file in .git/refs/ hierarchy were the only way to have branches and
tags, which is not true for quite some time.
* It was generally understood that "--long-option"s to many of our
subcommands can be abbreviated to the unique prefix, but it was not
easy to find it described for new readers of the documentation set.
* The "--topo-order", "--date-order" (and the lack of either means
the default order) options to "rev-list" and "log" family of
commands were poorly described in the documentation.
* "git commit --amend" let the user edit the log message and then
died when the human-readable committer name was given
insufficiently by getpwent(3).
* 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".
* 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 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.
* The "--rebase" option to "git pull" can be abbreviated to "-r",
but we didn't document it.
* 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.
* The reflog entries left by "git rebase" and "git rebase -i" were
inconsistent (the interactive one gave an abbreviated object name).
* "git send-email" did not unquote encoded words that appear on the
header correctly, and lost "_" from strings.
* "git stash apply/pop" did not trigger "rerere" upon conflicts
unlike other mergy operations.
* "git submodule <cmd> path" did not error out when the path to the
submodule was misspelt.
* "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).
* "gitweb" when used with PATH_INFO failed to notice directories with
SP (and other characters that need URL-style quoting) in them.
* Fallback 'getpass' implementation made unportable use of stdio API.
* A utility shell function test_seq has been added as a replacement
for the 'seq' utility found on some platforms.

View File

@@ -25,12 +25,25 @@ Fixes since v1.7.12
* A utility shell function test_seq has been added as a replacement
for the 'seq' utility found on some platforms.
* 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.
* We used curl_easy_strerror() without checking version of cURL,
breaking the build for versions before curl 7.12.0.
* Code to work around MacOS X UTF-8 gotcha has been cleaned up.
* Fallback 'getpass' implementation made unportable use of stdio API.
* "git commit --amend" let the user edit the log message and then
died when the human-readable committer name was given
insufficiently by getpwent(3).
* 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.
* "git prune" without "-v" used to warn about leftover temporary
files (which is an indication of an earlier aborted operation).

View File

@@ -51,12 +51,20 @@ UI, Workflows & Features
* "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.
@@ -64,13 +72,14 @@ Performance, Internal Implementation, etc. (please report possible regressions)
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.
* 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".
@@ -88,6 +97,10 @@ 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 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
@@ -143,17 +156,6 @@ to them for details).
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,
@@ -161,33 +163,3 @@ to them for details).
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 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.

View File

@@ -48,9 +48,10 @@ Documentation for older releases are available here:
* release notes for
link:RelNotes/1.7.12.txt[1.7.12].
* link:v1.7.11.5/git.html[documentation for release 1.7.11.5]
* link:v1.7.11.6/git.html[documentation for release 1.7.11.6]
* release notes for
link:RelNotes/1.7.11.6.txt[1.7.11.6],
link:RelNotes/1.7.11.5.txt[1.7.11.5],
link:RelNotes/1.7.11.4.txt[1.7.11.4],
link:RelNotes/1.7.11.3.txt[1.7.11.3],