Documentation / RelNotes / 1.7.12.1.txton commit Merge gitk to pick up emergency build fix (8a3a681)
   1Git 1.7.12.1 Release Notes
   2==========================
   3
   4Fixes since v1.7.12
   5-------------------
   6
   7 * "git apply -p0" did not parse pathnames on "diff --git" line
   8   correctly.  This caused patches that had pathnames in no other
   9   places to be mistakenly rejected (most notably, binary patch that
  10   does not rename nor change mode).  Textual patches, renames or mode
  11   changes have preimage and postimage pathnames in different places
  12   in a form that can be parsed unambiguously and did not suffer from
  13   this problem.
  14
  15 * "git cherry-pick A C B" used to replay changes in A and then B and
  16   then C if these three commits had committer timestamps in that
  17   order, which is not what the user who said "A C B" naturally
  18   expects.
  19
  20 * "git commit --amend" let the user edit the log message and then
  21   died when the human-readable committer name was given
  22   insufficiently by getpwent(3).
  23
  24 * Some capabilities were asked by fetch-pack even when upload-pack
  25   did not advertise that they are available.  fetch-pack has been
  26   fixed not to do so.
  27
  28 * "git diff" had a confusion between taking data from a path in the
  29   working tree and taking data from an object that happens to have
  30   name 0{40} recorded in a tree.
  31
  32 * "git for-each-ref" did not correctly support more than one --sort
  33   option.
  34
  35 * "git log .." errored out saying it is both rev range and a path
  36   when there is no disambiguating "--" is on the command line.
  37   Update the command line parser to interpret ".." as a path in such
  38   a case.
  39
  40 * The "--topo-order", "--date-order" (and the lack of either means
  41   the default order) options to "rev-list" and "log" family of
  42   commands were poorly described in the documentation.
  43
  44 * "git prune" without "-v" used to warn about leftover temporary
  45   files (which is an indication of an earlier aborted operation).
  46
  47 * Pushing to smart HTTP server with recent Git fails without having
  48   the username in the URL to force authentication, if the server is
  49   configured to allow GET anonymously, while requiring authentication
  50   for POST.
  51
  52 * The reflog entries left by "git rebase" and "git rebase -i" were
  53   inconsistent (the interactive one gave an abbreviated object name).
  54
  55 * When "git push" triggered the automatic gc on the receiving end, a
  56   message from "git prune" that said it was removing cruft leaked to
  57   the standard output, breaking the communication protocol.
  58
  59 * "git show --quiet" ought to be a synonym for "git show -s", but
  60   wasn't.
  61
  62 * "git show --format='%ci'" did not give timestamp correctly for
  63   commits created without human readable name on "committer" line.
  64
  65 * "git send-email" did not unquote encoded words that appear on the
  66   header correctly, and lost "_" from strings.
  67
  68 * The interactive prompt "git send-email" gives was error prone. It
  69   asked "What e-mail address do you want to use?" with the address it
  70   guessed (correctly) the user would want to use in its prompt,
  71   tempting the user to say "y". But the response was taken as "No,
  72   please use 'y' as the e-mail address instead", which is most
  73   certainly not what the user meant.
  74
  75 * "gitweb" when used with PATH_INFO failed to notice directories with
  76   SP (and other characters that need URL-style quoting) in them.
  77
  78 * When the user gives an argument that can be taken as both a
  79   revision name and a pathname without disambiguating with "--", we
  80   used to give a help message "Use '--' to separate".  The message
  81   has been clarified to show where that '--' goes on the command
  82   line.
  83
  84 * When the user exports a non-default IFS without HT, scripts that
  85   rely on being able to parse "ls-files -s | while read a b c..."
  86   started to fail.  Protect them from such a misconfiguration.
  87
  88 * The attribute system may be asked for a path that itself or its
  89   leading directories no longer exists in the working tree, and it is
  90   fine if we cannot open .gitattribute file in such a case.  Failure
  91   to open per-directory .gitattributes with error status other than
  92   ENOENT and ENOTDIR should be diagnosed, but it wasn't.
  93
  94 * After "gitk" showed the contents of a tag, neither "Reread
  95   references" nor "Reload" did not update what is shown as the
  96   contents of it, when the user overwrote the tag with "git tag -f".
  97
  98 * "ciabot" script (in contrib/) has been updated with extensive
  99   documentation.
 100
 101 * "git-jump" script (in contrib/) did not work well when
 102   diff.noprefix or diff.mnemonicprefix is in effect.
 103
 104 * Older parts of the documentation described as if having a regular
 105   file in .git/refs/ hierarchy were the only way to have branches and
 106   tags, which is not true for quite some time.
 107
 108 * A utility shell function test_seq has been added as a replacement
 109   for the 'seq' utility found on some platforms.
 110
 111 * Compatibility wrapper to learn the maximum number of file
 112   descriptors we can open around sysconf(_SC_OPEN_MAX) and
 113   getrlimit(RLIMIT_NO_FILE) has been introduced for portability.
 114
 115 * We used curl_easy_strerror() without checking version of cURL,
 116   breaking the build for versions before curl 7.12.0.
 117
 118 * Code to work around MacOS X UTF-8 gotcha has been cleaned up.
 119
 120 * Fallback 'getpass' implementation made unportable use of stdio API.
 121
 122 * The "--rebase" option to "git pull" can be abbreviated to "-r",
 123   but we didn't document it.
 124
 125 * It was generally understood that "--long-option"s to many of our
 126   subcommands can be abbreviated to the unique prefix, but it was not
 127   easy to find it described for new readers of the documentation set.
 128
 129 * The synopsis said "checkout [-B branch]" to make it clear the
 130   branch name is a parameter to the option, but the heading for the
 131   option description was "-B::", not "-B branch::", making the
 132   documentation misleading.
 133
 134Also contains numerous documentation updates.