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