Merge branch 'sg/git-test-boolean'
[gitweb.git] / Documentation / RelNotes / 1.7.12.1.txt
index da51dd5392b3c635f1a901ccc1842aad70ae6ef1..b8f04af19f9691d046acc914acff78bbfd81f39f 100644 (file)
@@ -4,37 +4,18 @@ Git 1.7.12.1 Release Notes
 Fixes since v1.7.12
 -------------------
 
- * "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.
-
- * 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.
-
- * 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 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.
+
+ * "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.
 
  * "git commit --amend" let the user edit the log message and then
    died when the human-readable committer name was given
@@ -44,32 +25,110 @@ Fixes since v1.7.12
    did not advertise that they are available.  fetch-pack has been
    fixed not to do so.
 
+ * "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 for-each-ref" did not correctly support more than one --sort
+   option.
+
+ * "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.
+
+ * 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 prune" without "-v" used to warn about leftover temporary
    files (which is an indication of an earlier aborted operation).
 
+ * 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.
+
  * 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
-   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 show --quiet" ought to be a synonym for "git show -s", but
+   wasn't.
+
+ * "git show --format='%ci'" did not give timestamp correctly for
+   commits created without human readable name on "committer" line.
 
  * "git send-email" did not unquote encoded words that appear on the
    header correctly, and lost "_" from strings.
 
+ * 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.
+
+ * "gitweb" when used with PATH_INFO failed to notice directories with
+   SP (and other characters that need URL-style quoting) in them.
+
  * 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
-   SP (and other characters that need URL-style quoting) in them.
+ * 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.
+
+ * The attribute system may be asked for a path that itself or its
+   leading directories no longer exists in the working tree, and it is
+   fine if we cannot open .gitattribute file in such a case.  Failure
+   to open per-directory .gitattributes with error status other than
+   ENOENT and ENOTDIR should be diagnosed, but it wasn't.
+
+ * 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".
+
+ * "ciabot" script (in contrib/) has been updated with extensive
+   documentation.
+
+ * "git-jump" script (in contrib/) did not work well when
+   diff.noprefix or diff.mnemonicprefix is in effect.
+
+ * 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.
+
+ * 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.
+
+ * The "--rebase" option to "git pull" can be abbreviated to "-r",
+   but we didn't document it.
+
+ * 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 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.
+
+Also contains numerous documentation updates.