Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 1 | GIT v1.6.0 Release Notes |
| 2 | ======================== |
| 3 | |
| 4 | User visible changes |
| 5 | -------------------- |
| 6 | |
Junio C Hamano | bb8e996 | 2008-06-30 09:05:08 | [diff] [blame] | 7 | With the default Makefile settings, most of the programs are now |
| 8 | installed outside your $PATH, except for "git", "gitk", "git-gui" and |
| 9 | some server side programs that need to be accessible for technical |
| 10 | reasons. Invoking a git subcommand as "git-xyzzy" from the command |
| 11 | line has been deprecated since early 2006 (and officially announced in |
| 12 | 1.5.4 release notes); use of them from your scripts after adding |
| 13 | output from "git --exec-path" to the $PATH is still supported in this |
| 14 | release, but users are again strongly encouraged to adjust their |
| 15 | scripts to use "git xyzzy" form, as we will stop installing |
| 16 | "git-xyzzy" hardlinks for built-in commands in later releases. |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 17 | |
Junio C Hamano | 85c7157 | 2008-07-28 00:03:31 | [diff] [blame^] | 18 | An earlier change to page "git status" output was overwhelmingly unpopular |
| 19 | and has been reverted. |
| 20 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 21 | Source changes needed for porting to MinGW environment are now all in the |
| 22 | main git.git codebase. |
| 23 | |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 24 | By default, packfiles created with this version uses delta-base-offset |
| 25 | encoding introduced in v1.4.4. Pack idx files are using version 2 that |
| 26 | allows larger packs and added robustness thanks to its CRC checking, |
Junio C Hamano | 915cd9b | 2008-07-20 01:24:17 | [diff] [blame] | 27 | introduced in v1.5.2 and v1.4.4.5. If you want to keep your repositories |
| 28 | backwards compatible past these versions, set repack.useDeltaBaseOffset |
| 29 | to false or pack.indexVersion to 1, respectively. |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 30 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 31 | GIT_CONFIG, which was only documented as affecting "git config", but |
| 32 | actually affected all git commands, now only affects "git config". |
| 33 | GIT_LOCAL_CONFIG, also only documented as affecting "git config" and |
| 34 | not different from GIT_CONFIG in a useful way, is removed. |
| 35 | |
Junio C Hamano | f69a0a0 | 2008-07-17 08:08:47 | [diff] [blame] | 36 | The ".dotest" temporary area "git am" and "git rebase" use is now moved |
| 37 | inside the $GIT_DIR, to avoid mistakes of adding it to the project by |
| 38 | accident. |
| 39 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 40 | An ancient merge strategy "stupid" has been removed. |
| 41 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 42 | |
| 43 | Updates since v1.5.6 |
| 44 | -------------------- |
| 45 | |
| 46 | (subsystems) |
| 47 | |
Junio C Hamano | bb8e996 | 2008-06-30 09:05:08 | [diff] [blame] | 48 | * git-p4 in contrib learned "allowSubmit" configuration to control on |
| 49 | which branch to allow "submit" subcommand. |
| 50 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 51 | * git-gui learned to stage changes per-line. |
| 52 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 53 | (portability) |
| 54 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 55 | * Changes for MinGW port have been merged, thanks to Johannes Sixt and |
| 56 | gangs. |
| 57 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 58 | * Sample hook scripts shipped in templates/ are now suffixed with |
| 59 | *.sample. We used to prevent them from triggering by default by |
| 60 | relying on the fact that we install them as unexecutable, but on |
| 61 | some filesystems this approach does not work. Instead of running |
| 62 | "chmod +x" on them, the users who want to activate these samples |
| 63 | as-is can now rename them dropping *.sample suffix. |
| 64 | |
| 65 | * perl's in-place edit (-i) does not work well without backup files on Windows; |
| 66 | some tests are rewritten to cope with this. |
| 67 | |
| 68 | (documentation) |
| 69 | |
| 70 | * Updated howto/update-hook-example |
| 71 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 72 | * Got rid of usage of "git-foo" from the tutorial and made typography |
| 73 | more consistent. |
Junio C Hamano | bb8e996 | 2008-06-30 09:05:08 | [diff] [blame] | 74 | |
| 75 | * Disambiguating "--" between revs and paths is finally documented. |
| 76 | |
| 77 | (performance, robustness, sanity etc.) |
| 78 | |
Junio C Hamano | f69a0a0 | 2008-07-17 08:08:47 | [diff] [blame] | 79 | * index-pack used too much memory when dealing with a deep delta chain. |
| 80 | This has been optimized. |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 81 | |
| 82 | * reduced excessive inlining to shrink size of the "git" binary. |
| 83 | |
| 84 | * verify-pack checks the object CRC when using version 2 idx files. |
| 85 | |
| 86 | * When an object is corrupt in a pack, the object became unusable even |
| 87 | when the same object is available in a loose form, We now try harder to |
| 88 | fall back to these redundant objects when able. In particular, "git |
| 89 | repack -a -f" can be used to fix such a corruption as long as necessary |
| 90 | objects are available. |
| 91 | |
Junio C Hamano | f69a0a0 | 2008-07-17 08:08:47 | [diff] [blame] | 92 | * Performance of "git-blame -C -C" operation is vastly improved. |
| 93 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 94 | * git-clone does not create refs in loose form anymore (it behaves as |
| 95 | if you immediately ran git-pack-refs after cloning). This will help |
| 96 | repositories with insanely large number of refs. |
| 97 | |
| 98 | * core.fsyncobjectfiles configuration can be used to ensure that the loose |
| 99 | objects created will be fsync'ed (this is only useful on filesystems |
| 100 | that does not order data writes properly). |
| 101 | |
Junio C Hamano | bb8e996 | 2008-06-30 09:05:08 | [diff] [blame] | 102 | * "git commit-tree" plumbing can make Octopus with more than 16 parents. |
| 103 | "git commit" has been capable of this for quite some time. |
| 104 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 105 | (usability, bells and whistles) |
| 106 | |
Junio C Hamano | f69a0a0 | 2008-07-17 08:08:47 | [diff] [blame] | 107 | * even more documentation pages are now accessible via "man" and "git help". |
| 108 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 109 | * A new environment variable GIT_CEILING_DIRECTORIES can be used to stop |
| 110 | the discovery process of the toplevel of working tree; this may be useful |
| 111 | when you are working in a slow network disk and are outside any working tree, |
| 112 | as bash-completion and "git help" may still need to run in these places. |
| 113 | |
Junio C Hamano | c4b18dd | 2008-07-14 08:19:29 | [diff] [blame] | 114 | * By default, stash entries never expire. Set reflogexpire in [gc |
| 115 | "refs/stash"] to a reasonable value to get traditional auto-expiration |
| 116 | behaviour back |
| 117 | |
| 118 | * Longstanding latency issue with bash completion script has been |
| 119 | addressed. This will need to be backmerged to 'maint' later. |
| 120 | |
| 121 | * pager.<cmd> configuration variable can be used to enable/disable the |
| 122 | default paging behaviour per command. |
| 123 | |
| 124 | * "git-add -i" has a new action 'e/dit' to allow you edit the patch hunk |
| 125 | manually. |
| 126 | |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 127 | * git-am records the original tip of the branch in ORIG_HEAD before it |
| 128 | starts applying patches. |
| 129 | |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 130 | * git-apply can handle a patch that touches the same path more than once |
| 131 | much better than before. |
| 132 | |
| 133 | * git-apply can be told not to trust the line counts recorded in the input |
| 134 | patch but recount, with the new --recount option. |
| 135 | |
Junio C Hamano | c4b18dd | 2008-07-14 08:19:29 | [diff] [blame] | 136 | * git-apply can be told to apply a patch to a path deeper than what the |
| 137 | patch records with --directory option. |
| 138 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 139 | * git-archive can be told to omit certain paths from its output using |
| 140 | export-ignore attributes. |
| 141 | |
Junio C Hamano | 915cd9b | 2008-07-20 01:24:17 | [diff] [blame] | 142 | * git-archive uses the zlib default compression level when creating |
| 143 | zip archive. |
| 144 | |
Junio C Hamano | c4b18dd | 2008-07-14 08:19:29 | [diff] [blame] | 145 | * With -v option, git-branch describes the remote tracking statistics |
| 146 | similar to the way git-checkout reports by how many commits your branch |
| 147 | is ahead/behind. |
| 148 | |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 149 | * git-branch's --contains option used to always require a commit parameter |
| 150 | to limit the branches with; it now defaults to list branches that |
| 151 | contains HEAD if this parameter is omitted. |
| 152 | |
| 153 | * git-branch's --merged and --no-merged option used to always limit the |
| 154 | branches relative to the HEAD, but they can now take an optional commit |
| 155 | argument that is used in place of HEAD. |
| 156 | |
Junio C Hamano | c4b18dd | 2008-07-14 08:19:29 | [diff] [blame] | 157 | * git-bundle can read the revision arguments from the standard input. |
| 158 | |
| 159 | * git-cherry-pick can replay a root commit now. |
| 160 | |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 161 | * git-clone can clone from a remote whose URL would be rewritten by |
| 162 | configuration stored in $HOME/.gitconfig now. |
| 163 | |
Junio C Hamano | 915cd9b | 2008-07-20 01:24:17 | [diff] [blame] | 164 | * git-cvsserver learned to respond to "cvs co -c". |
| 165 | |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 166 | * git-diff --check now checks leftover merge conflict markers. |
| 167 | |
| 168 | * When remote side used to have branch 'foo' and git-fetch finds that now |
| 169 | it has branch 'foo/bar', it refuses to lose the existing remote tracking |
| 170 | branch and its reflog. The error message has been improved to suggest |
| 171 | pruning the remote if the user wants to proceed and get the latest set |
| 172 | of branches from the remote, including such 'foo/bar'. |
| 173 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 174 | * fast-export learned to export and import marks file; this can be used to |
| 175 | interface with fast-import incrementally. |
| 176 | |
Junio C Hamano | 915cd9b | 2008-07-20 01:24:17 | [diff] [blame] | 177 | * fast-import and fast-export learned to export and import gitlinks. |
| 178 | |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 179 | * git-rebase records the original tip of branch in ORIG_HEAD before it is |
| 180 | rewound. |
| 181 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 182 | * "git rerere" can be told to update the index with auto-reused resolution |
| 183 | with rerere.autoupdate configuration variable. |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 184 | |
Junio C Hamano | 85c7157 | 2008-07-28 00:03:31 | [diff] [blame^] | 185 | * git-rev-parse learned $commit^! and $commit^@ notations used in "log" |
| 186 | family. These notations are available in gitk as well, because the gitk |
| 187 | command internally uses rev-parse to interpret its arguments. |
| 188 | |
Junio C Hamano | c4b18dd | 2008-07-14 08:19:29 | [diff] [blame] | 189 | * git-rev-list learned --children option to show child commits it |
| 190 | encountered during the traversal, instead of shoing parent commits. |
| 191 | |
Junio C Hamano | fce7c7e | 2008-07-02 03:06:38 | [diff] [blame] | 192 | * git-send-mail can talk not just over SSL but over TLS now. |
| 193 | |
Junio C Hamano | 38ddcce | 2008-07-15 15:49:03 | [diff] [blame] | 194 | * git-shortlog honors custom output format specified with "--pretty=format:". |
| 195 | |
Junio C Hamano | c4b18dd | 2008-07-14 08:19:29 | [diff] [blame] | 196 | * "git-stash save" learned --keep-index option. This lets you stash away the |
| 197 | local changes and bring the changes staged in the index to your working |
| 198 | tree for examination and testing. |
| 199 | |
| 200 | * git-stash also learned branch subcommand to create a new branch out of |
| 201 | stashed changes. |
| 202 | |
| 203 | * git-status gives the remote tracking statistics similar to the way |
| 204 | git-checkout reports by how many commits your branch is ahead/behind. |
| 205 | |
Junio C Hamano | 85c7157 | 2008-07-28 00:03:31 | [diff] [blame^] | 206 | * "git-svn dcommit" is now aware of auto-props setting the subversion user |
| 207 | has. |
| 208 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 209 | * You can tell "git status -u" to even more aggressively omit checking |
| 210 | untracked files with --untracked-files=no. |
| 211 | |
Junio C Hamano | 1504827 | 2008-07-07 22:10:48 | [diff] [blame] | 212 | * Original SHA-1 value for "update-ref -d" is optional now. |
| 213 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 214 | * Error codes from gitweb are made more descriptive where possible, rather |
| 215 | than "403 forbidden" as we used to issue everywhere. |
| 216 | |
| 217 | (internal) |
| 218 | |
Junio C Hamano | f69a0a0 | 2008-07-17 08:08:47 | [diff] [blame] | 219 | * git-merge has been reimplemented in C. |
| 220 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 221 | |
| 222 | Fixes since v1.5.6 |
| 223 | ------------------ |
| 224 | |
| 225 | All of the fixes in v1.5.6 maintenance series are included in |
| 226 | this release, unless otherwise noted. |
| 227 | |
Junio C Hamano | 85c7157 | 2008-07-28 00:03:31 | [diff] [blame^] | 228 | * git-clone ignored its -u option; the fix needs to be backported to |
| 229 | 'maint'; |
| 230 | |
| 231 | * git-mv used to lose the distinction between changes that are staged |
| 232 | and that are only in the working tree, by staging both in the index |
| 233 | after moving such a path. |
| 234 | |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 235 | --- |
| 236 | exec >/var/tmp/1 |
Junio C Hamano | 85c7157 | 2008-07-28 00:03:31 | [diff] [blame^] | 237 | O=v1.6.0-rc0-104-g81dc230 |
Junio C Hamano | 4451cb6 | 2008-06-26 08:41:21 | [diff] [blame] | 238 | echo O=$(git describe refs/heads/master) |
| 239 | git shortlog --no-merges $O..refs/heads/master ^refs/heads/maint |