Merge branch 'mz/cherry-pick-cmdline-order'
[gitweb.git] / Documentation / RelNotes / 1.8.0.txt
index e45788ef3e15e55e2e884adeaa873b9cb8d59942..f0a89443c446adce242d74c6f4d93c8049f2ef8d 100644 (file)
@@ -24,6 +24,13 @@ 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.
 
@@ -43,6 +50,20 @@ 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.
+
+ * 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.
 
 
@@ -53,6 +74,82 @@ 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).
 
@@ -68,43 +165,5 @@ to them for details).
    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).