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