repo-config: remove deprecated alias for "git config"
[gitweb.git] / Documentation / RelNotes / 1.8.5.txt
index ac5c3fafe59be32e5f276ad4276a5f9d6305fe85..13b4336e511ba4633358d628cbe25fb09e596291 100644 (file)
@@ -42,6 +42,11 @@ release, will keep ignoring removals, but the users who rely on this
 behaviour are encouraged to start using "git add --ignore-removal <path>"
 now before 2.0 is released.
 
+The default prefix for "git svn" will change in Git 2.0.  For a long
+time, "git svn" created its remote-tracking branches directly under
+refs/remotes, but it will place them under refs/remotes/origin/ unless
+it is told otherwise with its --prefix option.
+
 
 Updates since v1.8.4
 --------------------
@@ -71,6 +76,27 @@ Foreign interfaces, subsystems and ports.
 
 UI, Workflows & Features
 
+ * xdg-open can be used as a browser backend for "git web-browse"
+   (hence to show "git help -w" output), when available.
+
+ * "git grep" and "git show" pays attention to "--textconv" option
+   when these commands are told to operate on blob objects (e.g. "git
+   grep -e pattern HEAD:Makefile").
+
+ * "git replace" helper no longer allows an object to be replaced with
+   another object of a different type to avoid confusion (you can
+   still manually craft such replacement using "git update-ref", as an
+   escape hatch).
+
+ * "git status" no longer prints dirty status information for
+   submodules for which submodule.$name.ignore is set to "all".
+
+ * "git rebase -i" honours core.abbrev when preparing the insn sheet
+   for editing.
+
+ * "git status" during a cherry-pick shows what original commit is
+   being picked.
+
  * Instead of typing four capital letters "HEAD", you can say "@" now,
    e.g. "git log @".
 
@@ -96,6 +122,9 @@ UI, Workflows & Features
 
  * "git status" now omits the prefix to make its output a comment in a
    commit log editor, which is not necessary for human consumption.
+   Scripts that parse the output of "git status" are advised to use
+   "git status --porcelain" instead, as its format is stable and easier
+   to parse.
 
  * Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
    "foo" is not a tag.  "git rev-parse --verify v1.0^{tag}" would be
@@ -106,10 +135,6 @@ UI, Workflows & Features
    sync with the branch it builds on, and a branch that is configured
    to build on some other branch that no longer exists.
 
- * A packfile that stores the same object more than once is broken and
-   will be rejected by "git index-pack" that is run when receiving
-   data over the wire.
-
  * Earlier we started rejecting an attempt to add 0{40} object name to
    the index and to tree objects, but it sometimes is necessary to
    allow so to be able to use tools like filter-branch to correct such
@@ -127,8 +152,9 @@ UI, Workflows & Features
  * "git push --no-thin" actually disables the "thin pack transfer"
    optimization.
 
- * Magic pathspecs like ":(icase)makefile" that matches both
-   Makefile and makefile can be used in more places.
+ * Magic pathspecs like ":(icase)makefile" that matches both Makefile
+   and makefile and ":(glob)foo/**/bar" that matches "bar" in "foo"
+   and any subdirectory of "foo" can be used in more places.
 
  * The "http.*" variables can now be specified per URL that the
    configuration applies.  For example,
@@ -179,6 +205,16 @@ UI, Workflows & Features
 
 Performance, Internal Implementation, etc.
 
+ * "git for-each-ref" when asking for merely the object name does not
+   have to parse the object pointed at by the refs; the codepath has
+   been optimized.
+
+ * The HTTP transport will try to use TCP keepalive when able.
+
+ * "git repack" is now written in C.
+
+ * Build procedure for MSVC has been updated.
+
  * If a build-time fallback is set to "cat" instead of "less", we
    should apply the same "no subprocess or pipe" optimization as we
    apply to user-supplied GIT_PAGER=cat.
@@ -212,6 +248,86 @@ Unless otherwise noted, all the fixes since v1.8.4 in the maintenance
 track are contained in this release (see release notes to them for
 details).
 
+ * An ancient How-To on serving Git repositories on an HTTP server
+   lacked a warning that it has been mostly superseded with more
+   modern way.
+   (merge 6d52bc3 sc/doc-howto-dumb-http later to maint).
+
+ * The interaction between use of Perl in our test suite and NO_PERL
+   has been clarified a bit.
+   (merge f8fc0ee jn/test-prereq-perl-doc later to maint).
+
+ * The synopsis section of "git unpack-objects" documentation has been
+   clarified a bit.
+   (merge 61e2e22 vd/doc-unpack-objects later to maint).
+
+ * We did not generate HTML version of documentation to "git subtree"
+   in contrib/.
+   (merge 95c62fb jk/subtree-install-fix later to maint).
+
+ * A fast-import stream expresses a pathname with funny characters by
+   quoting them in C style; remote-hg remote helper forgot to unquote
+   such a path.
+   (merge 1136265 ap/remote-hg-unquote-cquote later to maint).
+
+ * "git reset -p HEAD" has a codepath to special case it to behave
+   differently from resetting to contents of other commits, but a
+   recent change broke it.
+
+ * Coloring around octopus merges in "log --graph" output was screwy.
+   (merge 339c17b hn/log-graph-color-octopus later to maint).
+
+ * "git checkout topic", when there is not yet a local "topic" branch
+   but there is a unique remote-tracking branch for a remote "topic"
+   branch, pretended as if "git checkout -t -b topic remote/$r/topic"
+   (for that unique remote $r) was run. This hack however was not
+   implemented for "git checkout topic --".
+   (merge bca3969 mm/checkout-auto-track-fix later to maint).
+
+ * One long-standing flaw in the pack transfer protocol used by "git
+   clone" was that there was no way to tell the other end which branch
+   "HEAD" points at, and the receiving end needed to guess.  A new
+   capability has been defined in the pack protocol to convey this
+   information so that cloning from a repository with more than one
+   branches pointing at the same commit where the HEAD is at now
+   reliably sets the initial branch in the resulting repository.
+   (merge 360a326 jc/upload-pack-send-symref later to maint).
+
+ * We did not handle cases where http transport gets redirected during
+   the authorization request (e.g. from http:// to https://).
+   (merge 70900ed jk/http-auth-redirects later to maint).
+
+ * Bash prompting code to deal with an SVN remote as an upstream
+   were coded in a way not supported by older Bash versions (3.x).
+   (merge 52ec889 sg/prompt-svn-remote-fix later to maint).
+
+ * The fall-back parsing of commit objects with broken author or
+   committer lines were less robust than ideal in picking up the
+   timestamps.
+   (merge 03818a4 jk/split-broken-ident later to maint).
+
+ * "git rev-list --objects ^v1.0^ v1.0" gave v1.0 tag itself in the
+   output, but "git rev-list --objects v1.0^..v1.0" did not.
+   (merge 895c5ba jc/revision-range-unpeel later to maint).
+
+ * "git clone" gave some progress messages to the standard output, not
+   to the standard error, and did not allow suppressing them with the
+   --no-progress option.
+   (merge 643f918 jk/clone-progress-to-stderr later to maint).
+
+ * "format-patch --from=<whom>" forgot to omit unnecessary in-body
+   from line, i.e. when <whom> is the same as the real author.
+   (merge 662cc30 jk/format-patch-from later to maint).
+
+ * "git shortlog" used to choke and die when there is a malformed
+   commit (e.g. missing authors); it now simply ignore such a commit
+   and keeps going.
+   (merge cd4f09e jk/shortlog-tolerate-broken-commit later to maint).
+
+ * "git merge-recursive" did not parse its "--diff-algorithm=" command
+   line option correctly.
+   (merge 6562928 jk/diff-algo later to maint).
+
  * When running "fetch -q", a long silence while the sender side
    computes the set of objects to send can be mistaken by proxies as
    dropped connection.  The server side has been taught to send a