Code

Git 1.7.2-rc3
[git.git] / Documentation / RelNotes-1.7.2.txt
index 2dea6ffcf686b46f8c2a8c3901ad5d207f99080a..f24b3876af6e2edbfdd7e8af2eff445fb8e6f85d 100644 (file)
@@ -4,14 +4,18 @@ Git v1.7.2 Release Notes (draft)
 Updates since v1.7.1
 --------------------
 
+ * core.eol configuration and text/eol attributes are the new way to control
+   the end of line conventions for files in the working tree.
+
+ * core.autocrlf has been made safer - it will now only handle line
+   endings for new files and files that are LF-only in the
+   repository. To normalize content that has been checked in with
+   CRLF, use the new eol/text attributes.
+
  * 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.
 
- * Authentication over http transport can now be made lazily, in that the
-   request can first go to a URL without username, get a 401 response and
-   then the client will ask for the username to use.
-
  * When working from a subdirectory, by default, git does not look for its
    metadirectory ".git" across filesystems, primarily to help people who
    have invocations of git in their custom PS1 prompts, as being outside
@@ -20,33 +24,43 @@ 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.
 
- * After "git apply --whitespace=fix" removed trailing blank lines in an
-   patch in a patch series, it failed to apply later patches that depend
-   on the presense of such blank lines.
+ * 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" and "cherry-pick --stdin"), so did "git
+   revert"; these do not support the nicer sequencing control "rebase
+   [-i]" has, though.
+
+ * "git cherry-pick" and "git revert" learned --strategy option to specify
+   the merge strategy to be used when performing three-way merges.
 
  * "git cvsserver" can be told to use pserver; its password file can be
    stored outside the repository.
 
- * "git describe" tie-breaks tags that point at the same commit better by
-   paying attention to the tagger date (newer ones are preferred).
-
  * The output from the textconv filter used by "git diff" can be cached to
    speed up their reuse.
 
- * "git diff --color" did not paint extended diff headers per line
-   (i.e. the coloring escape sequence didn't end at the end of line),
-   which confused "less -R".
-
  * "git diff --word-diff=<mode>" extends the existing "--color-words"
    option, making it more useful in color-challenged environments.
 
@@ -54,35 +68,60 @@ Updates since v1.7.1
    been enhanced for visibility modifiers (public, protected, etc.) to
    better support PHP5.
 
- * "git fetch" over HTTP verifies the downloaded packfiles more robustly.
+ * "diff.noprefix" configuration variable can be used to implicitly
+   ask for "diff --no-prefix" behaviour.
 
  * "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.
 
- * The memory usage by "git index-pack" (run during "git fetch" and "git
-   push") got leaner.
+ * "git grep" learned "-Ovi" to open the files with hits in your editor.
+
+ * "git help -w" learned "chrome" and "chromium" browsers.
+
+ * "git log --decorate" shows commit decorations in various colours.
 
  * "git log --follow <path>" follows across copies (it used to only follow
    renames).  This may make the processing more expensive.
 
+ * "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.
 
  * "git patch-id" can be fed a mbox without getting confused by the
    signature line in the format-patch output.
 
- * "git revert" learned --strategy option to specify the merge strategy.
+ * "git remote" learned "set-branches" subcommand.
 
- * "git send-email" learned --smtp-domain option to specify the domainname
-   used in the EHLO/HELO exchange.
+ * "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.
+
+ * "git status" learned "--ignore-submodules" option.
+
  * Various "gitweb" enhancements and clean-ups, including syntax
-   highlighting.
+   highlighting, "plackup" support for instaweb, .fcgi suffix to run
+   it as FastCGI script, etc.
+
+ * The test harness has been updated to produce TAP-friendly output.
 
 
 Fixes since v1.7.1
@@ -91,41 +130,26 @@ Fixes since v1.7.1
 All of the fixes in v1.7.1.X maintenance series are included in this
 release, unless otherwise noted.
 
- * We didn't recognize timezone "Z" as a synonym for "UTC" (75b37e70).
-
- * In 1.7.1, "git status" stopped refreshing the index by mistake
-   (e251a7b3^2).
-
- * We used to mistakenly think "../work" is a subdirectory of the current
-   directory when we are in "../work-xyz" (490544b).
-
- * "git checkout" and "git rebase" overwrote paths that are marked "assume
-   unchanged" (aecda37c).
-
- * "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 (da3efdb).
+ * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo
+   had percent-encoded characters (638794c, 9d2e942, ce83eda, 3c73a1d).
 
  * "git clone" did not configure remote.origin.url correctly for bare
    clones (df61c889).
 
- * "git diff" used to tell underlying xdiff machinery to work very hard to
-   minimize the output, but this often was spending too many extra cycles
-   for very little gain (582aa00).
+ * "git diff --graph" works better with "--color-words" and other options
+   (81fa024..4297c0a).
 
- * "git pull" accepted "--dry-run", gave it to underlying "git fetch" but
-   ignored the option itself, resulting in a bogus attempt to merge
-   unrelated commit (29609e68).
+ * "git diff" could show ambiguous abbreviation of blob object names on
+   its "index" line (3e5a188).
 
  * "git reset --hard" started from a wrong directory and a working tree in
    a nonstandard location is in use got confused (560fb6a1).
 
- * "git stash" incorrectly lost paths in the working tree that were
-   previously removed from the index (7aa5d43).
+ * "git read-tree -m A B" used to switch to branch B while retaining
+   local changes added an incorrect cache-tree information (b1f47514).
 
 --
 exec >/var/tmp/1
-O=v1.7.1-336-g0925c02
-echo O=$(git describe master)
-git shortlog --no-merges master ^maint ^$O
+O=v1.7.2-rc2-17-gc9a9766
+echo O=$(git describe HEAD)
+git shortlog --no-merges HEAD ^maint ^$O