| 1 | Git v1.7.2 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | Updates 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 | * The test harness has been updated to produce TAP-friendly output. |
| 125 | |
| 126 | * Many documentation improvement patches are also included. |
| 127 | |
| 128 | |
| 129 | Fixes since v1.7.1 |
| 130 | ------------------ |
| 131 | |
| 132 | All of the fixes in v1.7.1.X maintenance series are included in this |
| 133 | release, unless otherwise noted. |
| 134 | |
| 135 | * We didn't URL decode "file:///path/to/repo" correctly when path/to/repo |
| 136 | had percent-encoded characters (638794c, 9d2e942, ce83eda, 3c73a1d). |
| 137 | |
| 138 | * "git clone" did not configure remote.origin.url correctly for bare |
| 139 | clones (df61c889). |
| 140 | |
| 141 | * "git diff --graph" works better with "--color-words" and other options |
| 142 | (81fa024..4297c0a). |
| 143 | |
| 144 | * "git diff" could show ambiguous abbreviation of blob object names on |
| 145 | its "index" line (3e5a188). |
| 146 | |
| 147 | * "git reset --hard" started from a wrong directory and a working tree in |
| 148 | a nonstandard location is in use got confused (560fb6a1). |
| 149 | |
| 150 | * "git read-tree -m A B" used to switch to branch B while retaining |
| 151 | local changes added an incorrect cache-tree information (b1f47514). |