merge-recursive --renormalize
[gitweb.git] / Documentation / RelNotes-1.7.2.txt
index a1b5428df4843165290b82ea1b9bee4b7b294f84..8ed74062660993649cfb4415ab0e63e80788673e 100644 (file)
@@ -4,6 +4,11 @@ Git v1.7.2 Release Notes (draft)
 Updates since v1.7.1
 --------------------
 
+ * core.eol configuration and eol attribute are the new way to control
+   the end of line conventions for files in the working tree;
+   core.autocrlf overrides it, keeping the traditional behaviour by
+   default.
+
  * The whitespace rules used in "git apply --whitespace" and "git diff"
    gained a new member in the family (tab-in-indent) to help projects with
    policy to indent only with spaces.
@@ -16,18 +21,32 @@ Updates since v1.7.1
    environment variable can be used to tell git not to stop at a
    filesystem boundary.
 
+ * Usage help messages generated by parse-options library (i.e. most
+   of the Porcelain commands) are sent to the standard output now.
+
+ * ':/<string>' notation to look for a commit now takes regular expression
+   and it is not anchored at the beginning of the commit log message
+   anymore (this is a backward incompatible change).
+
  * "git" wrapper learned "-c name=value" option to override configuration
    variable from the command line.
 
+ * Improved portability for various platforms including older SunOS,
+   HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.
+
  * The message from "git am -3" has been improved when conflict
    resolution ended up making the patch a no-op.
 
+ * "git blame" applies the textconv filter to the contents it works
+   on, when available.
+
  * "git checkout --orphan newbranch" is similar to "-b newbranch" but
    prepares to create a root commit that is not connected to any existing
    commit.
 
- * "git commit --amend" on a commit with an invalid author-name line that
-   lacks the display name didn't work (fb7749e4).
+ * "git cherry-pick" learned to pick a range of commits (e.g. "cherry-pick
+   A..B"); this does not have nicer sequencing control "rebase [-i]" has,
+   though.
 
  * "git cvsserver" can be told to use pserver; its password file can be
    stored outside the repository.
@@ -48,6 +67,10 @@ Updates since v1.7.1
  * "git for-each-ref" learned "%(objectname:short)" that gives the object
    name abbreviated.
 
+ * "git format-patch" learned --signature option and format.signature
+   configuration variable to customize the e-mail signature used in the
+   output.
+
  * Various options to "git grep" (e.g. --count, --name-only) work better
    with binary files.
 
@@ -56,7 +79,10 @@ Updates since v1.7.1
  * "git log --follow <path>" follows across copies (it used to only follow
    renames).  This may make the processing more expensive.
 
- * "git ls-files ../out/side/cwd" works now.
+ * "git log --pretty=format:<template>" specifier learned "% <something>"
+   magic that inserts a space only when %<something> expands to a
+   non-empty string; this is similar to "%+<something>" magic, but is
+   useful in a context to generate a single line output.
 
  * "git notes prune" learned "-n" (dry-run) and "-v" options, similar to
    what "git prune" has.
@@ -68,12 +94,21 @@ Updates since v1.7.1
 
  * "git revert" learned --strategy option to specify the merge strategy.
 
+ * "git rev-list A..B" learned --ancestry-path option to further limit
+   the result to the commits that are on the ancestry chain between A and
+   B (i.e. commits that are not descendants of A are excluded).
+
+ * "git show -5" is equivalent to "git show --do-walk 5"; this is similar
+   to the update to make "git show master..next" walk the history,
+   introduced in 1.6.4.
+
  * "git status [-s] --ignored" can be used to list ignored paths.
 
  * "git status -s -b" shows the current branch in the output.
 
  * Various "gitweb" enhancements and clean-ups, including syntax
-   highlighting, "plackup" support for instaweb, etc.
+   highlighting, "plackup" support for instaweb, .fcgi suffix to run
+   it as FastCGI script, etc.
 
 
 Fixes since v1.7.1
@@ -85,31 +120,35 @@ release, unless otherwise noted.
  * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo
    had percent-encoded characters (638794c, 9d2e942).
 
+ * "git commit" did not honor GIT_REFLOG_ACTION environment variable, resulting
+   reflog messages for cherry-pick and revert actions to be recorded as "commit".
+
  * "git clone/fetch/pull" issued an incorrect error message when a ref and
    a symref that points to the ref were updated at the same time.  This
    obviously would update them to the same value, and should not result in
-   an error condition (7223dcaf).
+   an error condition (0e71bc3).
 
  * "git clone" did not configure remote.origin.url correctly for bare
    clones (df61c889).
 
+ * "git diff" inside a tree with many pathnames that have certain
+   characters has become very slow in 1.7.0 by mistake (will merge
+   e53e6b443 to 'maint').
+
  * "git diff --graph" works better with "--color-words" and other options
    (81fa024..4297c0a).
 
  * "git diff" could show ambiguous abbreviation of blob object names on
    its "index" line (3e5a188).
 
- * "git merge --log" used to replace the custom message given by "-m" with
-   the shortlog, instead of appending to it (tc/merge-m-log).
+ * "git rebase" did not faithfully reproduce a malformed author ident, that
+   is often seen in a repository converted from foreign SCMs (43c23251).
 
  * "git reset --hard" started from a wrong directory and a working tree in
    a nonstandard location is in use got confused (560fb6a1).
 
- * "git show -C -C" and other corner cases lost diff metainfo output
-   in 1.7.0 (296c6bb).
-
 --
 exec >/var/tmp/1
-O=v1.7.1-423-gae391ec
+O=v1.7.1-592-gcf4403a
 echo O=$(git describe HEAD)
 git shortlog --no-merges HEAD ^maint ^$O