Documentation / RelNotes-1.7.2.txton commit Updates from the list to 1.7.2 Release Notes (16adc7c)
   1Git v1.7.2 Release Notes (draft)
   2================================
   3
   4Updates since v1.7.1
   5--------------------
   6
   7 * core.eol configuration and text/eol attributes are the new way to control
   8   the end of line conventions for files in the working tree.
   9
  10 * core.autocrlf has been made safer - it will now only handle line
  11   endings for new files and files that are LF-only in the
  12   repository. To normalize content that has been checked in with
  13   CRLF, use the new eol/text attributes.
  14
  15 * The whitespace rules used in "git apply --whitespace" and "git diff"
  16   gained a new member in the family (tab-in-indent) to help projects with
  17   policy to indent only with spaces.
  18
  19 * When working from a subdirectory, by default, git does not look for its
  20   metadirectory ".git" across filesystems, primarily to help people who
  21   have invocations of git in their custom PS1 prompts, as being outside
  22   of a git repository would look for ".git" all the way up to the root
  23   directory, and NFS mounts are often slow.  DISCOVERY_ACROSS_FILESYSTEM
  24   environment variable can be used to tell git not to stop at a
  25   filesystem boundary.
  26
  27 * Usage help messages generated by parse-options library (i.e. most
  28   of the Porcelain commands) are sent to the standard output now.
  29
  30 * ':/<string>' notation to look for a commit now takes regular expression
  31   and it is not anchored at the beginning of the commit log message
  32   anymore (this is a backward incompatible change).
  33
  34 * "git" wrapper learned "-c name=value" option to override configuration
  35   variable from the command line.
  36
  37 * Improved portability for various platforms including older SunOS,
  38   HP-UX 10/11, AIX, Tru64, etc. and platforms with Python 2.4.
  39
  40 * The message from "git am -3" has been improved when conflict
  41   resolution ended up making the patch a no-op.
  42
  43 * "git blame" applies the textconv filter to the contents it works
  44   on, when available.
  45
  46 * "git checkout --orphan newbranch" is similar to "-b newbranch" but
  47   prepares to create a root commit that is not connected to any existing
  48   commit.
  49
  50 * "git cherry-pick" learned to pick a range of commits
  51   (e.g. "cherry-pick A..B" and "cherry-pick --stdin"), so did "git
  52   revert"; these do not support the nicer sequencing control "rebase
  53   [-i]" has, though.
  54
  55 * "git cherry-pick" and "git revert" learned --strategy option to specify
  56   the merge strategy to be used when performing three-way merges.
  57
  58 * "git cvsserver" can be told to use pserver; its password file can be
  59   stored outside the repository.
  60
  61 * The output from the textconv filter used by "git diff" can be cached to
  62   speed up their reuse.
  63
  64 * "git diff --word-diff=<mode>" extends the existing "--color-words"
  65   option, making it more useful in color-challenged environments.
  66
  67 * The regexp to detect function headers used by "git diff" for PHP has
  68   been enhanced for visibility modifiers (public, protected, etc.) to
  69   better support PHP5.
  70
  71 * "diff.noprefix" configuration variable can be used to implicitly
  72   ask for "diff --no-prefix" behaviour.
  73
  74 * "git for-each-ref" learned "%(objectname:short)" that gives the object
  75   name abbreviated.
  76
  77 * "git format-patch" learned --signature option and format.signature
  78   configuration variable to customize the e-mail signature used in the
  79   output.
  80
  81 * Various options to "git grep" (e.g. --count, --name-only) work better
  82   with binary files.
  83
  84 * "git grep" learned "-Ovi" to open the files with hits in your editor.
  85
  86 * "git help -w" learned "chrome" and "chromium" browsers.
  87
  88 * "git log --decorate" shows commit decorations in various colours.
  89
  90 * "git log --follow <path>" follows across copies (it used to only follow
  91   renames).  This may make the processing more expensive.
  92
  93 * "git log --pretty=format:<template>" specifier learned "% <something>"
  94   magic that inserts a space only when %<something> expands to a
  95   non-empty string; this is similar to "%+<something>" magic, but is
  96   useful in a context to generate a single line output.
  97
  98 * "git notes prune" learned "-n" (dry-run) and "-v" options, similar to
  99   what "git prune" has.
 100
 101 * "git patch-id" can be fed a mbox without getting confused by the
 102   signature line in the format-patch output.
 103
 104 * "git remote" learned "set-branches" subcommand.
 105
 106 * "git rev-list A..B" learned --ancestry-path option to further limit
 107   the result to the commits that are on the ancestry chain between A and
 108   B (i.e. commits that are not descendants of A are excluded).
 109
 110 * "git show -5" is equivalent to "git show --do-walk 5"; this is similar
 111   to the update to make "git show master..next" walk the history,
 112   introduced in 1.6.4.
 113
 114 * "git status [-s] --ignored" can be used to list ignored paths.
 115
 116 * "git status -s -b" shows the current branch in the output.
 117
 118 * "git status" learned "--ignore-submodules" option.
 119
 120 * Various "gitweb" enhancements and clean-ups, including syntax
 121   highlighting, "plackup" support for instaweb, .fcgi suffix to run
 122   it as FastCGI script, etc.
 123
 124
 125Fixes since v1.7.1
 126------------------
 127
 128All of the fixes in v1.7.1.X maintenance series are included in this
 129release, unless otherwise noted.
 130
 131 * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo
 132   had percent-encoded characters (638794c, 9d2e942).
 133
 134 * "git commit" did not honor GIT_REFLOG_ACTION environment variable, resulting
 135   reflog messages for cherry-pick and revert actions to be recorded as "commit".
 136
 137 * "git clone/fetch/pull" issued an incorrect error message when a ref and
 138   a symref that points to the ref were updated at the same time.  This
 139   obviously would update them to the same value, and should not result in
 140   an error condition (0e71bc3).
 141
 142 * "git clone" did not configure remote.origin.url correctly for bare
 143   clones (df61c889).
 144
 145 * "git diff" inside a tree with many pathnames that have certain
 146   characters has become very slow in 1.7.0 by mistake (will merge
 147   e53e6b443 to 'maint').
 148
 149 * "git diff --graph" works better with "--color-words" and other options
 150   (81fa024..4297c0a).
 151
 152 * "git diff" could show ambiguous abbreviation of blob object names on
 153   its "index" line (3e5a188).
 154
 155 * "git reset --hard" started from a wrong directory and a working tree in
 156   a nonstandard location is in use got confused (560fb6a1).
 157
 158--
 159exec >/var/tmp/1
 160O=v1.7.2-rc0-60-g2927a50
 161echo O=$(git describe HEAD)
 162git shortlog --no-merges HEAD ^maint ^$O