]>
Commit | Line | Data |
---|---|---|
85da4d45 JH |
1 | Git v1.7.10 Release Notes |
2 | ========================= | |
3 | ||
56a33c8f JH |
4 | Compatibility Notes |
5 | ------------------- | |
6 | ||
7 | * From this release on, the "git merge" command in an interactive | |
8 | session will start an editor when it automatically resolves the | |
9 | merge for the user to explain the resulting commit, just like the | |
10 | "git commit" command does when it wasn't given a commit message. | |
11 | ||
12 | If you have a script that runs "git merge" and keeps its standard | |
13 | input and output attached to the user's terminal, and if you do not | |
14 | want the user to explain the resulting merge commits, you can | |
15 | export GIT_MERGE_AUTOEDIT environment variable set to "no", like | |
16 | this: | |
17 | ||
18 | #!/bin/sh | |
19 | GIT_MERGE_AUTOEDIT=no | |
20 | export GIT_MERGE_AUTOEDIT | |
21 | ||
e8dde3e5 | 22 | to disable this behavior (if you want your users to explain their |
56a33c8f JH |
23 | merge commits, you do not have to do anything). Alternatively, you |
24 | can give the "--no-edit" option to individual invocations of the | |
25 | "git merge" command if you know everybody who uses your script has | |
26 | Git v1.7.8 or newer. | |
27 | ||
fa678feb | 28 | * The "--binary/-b" options to "git am" have been a no-op for quite a |
6c15a1c6 JH |
29 | while and were deprecated in mid 2008 (v1.6.0). When you give these |
30 | options to "git am", it will now warn and ask you not to use them. | |
fa678feb | 31 | |
e8dde3e5 JH |
32 | * When you do not tell which branches and tags to push to the "git |
33 | push" command in any way, the command used "matching refs" rule to | |
34 | update remote branches and tags with branches and tags with the | |
35 | same name you locally have. In future versions of Git, this will | |
36 | change to push out only your current branch according to either the | |
37 | "upstream" or the "current" rule. Although "upstream" may be more | |
38 | powerful once the user understands Git better, the semantics | |
39 | "current" gives is simpler and easier to understand for beginners | |
40 | and may be a safer and better default option. We haven't decided | |
41 | yet which one to switch to. | |
c16df57c | 42 | |
56a33c8f | 43 | |
85da4d45 JH |
44 | Updates since v1.7.9 |
45 | -------------------- | |
46 | ||
47 | UI, Workflows & Features | |
48 | ||
fae9d761 | 49 | * various "gitk" updates. |
455cf268 JH |
50 | - show the path to the top level directory in the window title |
51 | - update preference edit dialog | |
52 | - display file list correctly when directories are given on command line | |
53 | - make "git-describe" output in the log message into a clickable link | |
54 | - avoid matching the UNIX timestamp part when searching all fields | |
55 | - give preference to symbolic font names like sans & monospace | |
56 | - allow comparing two commits using a mark | |
57 | - "gitk" honors log.showroot configuration. | |
fae9d761 | 58 | |
66b8800e JH |
59 | * Teams for localizing the messages from the Porcelain layer of |
60 | commands are starting to form, thanks to Jiang Xin who volunteered | |
455cf268 | 61 | to be the localization coordinator. Translated messages for |
e5056c05 | 62 | simplified Chinese, Swedish and Portuguese are available. |
66b8800e | 63 | |
ba998d33 JH |
64 | * The configuration mechanism learned an "include" facility; an |
65 | assignment to the include.path pseudo-variable causes the named | |
66 | file to be included in-place when Git looks up configuration | |
67 | variables. | |
68 | ||
f051ad6d JH |
69 | * A content filter (clean/smudge) used to be just a way to make the |
70 | recorded contents "more useful", and allowed to fail; a filter can | |
42e52e35 | 71 | now optionally be marked as "required". |
f051ad6d | 72 | |
222433ee JH |
73 | * Options whose names begin with "--no-" (e.g. the "--no-verify" |
74 | option of the "git commit" command) can be negated by omitting | |
75 | "no-" from its name, e.g. "git commit --verify". | |
76 | ||
85da4d45 | 77 | * "git am" learned to pass "-b" option to underlying "git mailinfo", so |
42e52e35 | 78 | that a bracketed string other than "PATCH" at the beginning can be kept. |
85da4d45 JH |
79 | |
80 | * "git clone" learned "--single-branch" option to limit cloning to a | |
42e52e35 JH |
81 | single branch (surprise!); tags that do not point into the history |
82 | of the branch are not fetched. | |
85da4d45 | 83 | |
f3fb0750 | 84 | * "git clone" learned to detach the HEAD in the resulting repository |
42e52e35 JH |
85 | when the user specifies a tag with "--branch" (e.g., "--branch=v1.0"). |
86 | Clone also learned to print the usual "detached HEAD" advice in such | |
87 | a case, similar to "git checkout v1.0". | |
f3fb0750 | 88 | |
85da4d45 JH |
89 | * When showing a patch while ignoring whitespace changes, the context |
90 | lines are taken from the postimage, in order to make it easier to | |
91 | view the output. | |
92 | ||
56a33c8f JH |
93 | * "git diff --stat" learned to adjust the width of the output on |
94 | wider terminals, and give more columns to pathnames as needed. | |
95 | ||
bd444cad JH |
96 | * "diff-highlight" filter (in contrib/) was updated to produce more |
97 | aesthetically pleasing output. | |
b3a769dc | 98 | |
222433ee JH |
99 | * "fsck" learned "--no-dangling" option to omit dangling object |
100 | information. | |
101 | ||
42e52e35 JH |
102 | * "git log -G" and "git log -S" learned to pay attention to the "-i" |
103 | option. With "-i", "log -G" ignores the case when finding patch | |
104 | hunks that introduce or remove a string that matches the given | |
105 | pattern. Similarly with "-i", "log -S" ignores the case when | |
106 | finding the commit the given block of text appears or disappears | |
107 | from the file. | |
56a33c8f | 108 | |
f3fb0750 JH |
109 | * "git merge" in an interactive session learned to spawn the editor |
110 | by default to let the user edit the auto-generated merge message, | |
111 | to encourage people to explain their merges better. Legacy scripts | |
3724cc7c | 112 | can export GIT_MERGE_AUTOEDIT=no to retain the historical behavior. |
b3a769dc JH |
113 | Both "git merge" and "git pull" can be given --no-edit from the |
114 | command line to accept the auto-generated merge message. | |
f3fb0750 | 115 | |
42e52e35 | 116 | * The advice message given when the user didn't give enough clue on |
56a33c8f JH |
117 | what to merge to "git pull" and "git merge" has been updated to |
118 | be more concise and easier to understand. | |
119 | ||
3724cc7c JH |
120 | * "git push" learned the "--prune" option, similar to "git fetch". |
121 | ||
42e52e35 JH |
122 | * The whole directory that houses a top-level superproject managed by |
123 | "git submodule" can be moved to another place. | |
124 | ||
4a92a172 JH |
125 | * "git symbolic-ref" learned the "--short" option to abbreviate the |
126 | refname it shows unambiguously. | |
127 | ||
3724cc7c JH |
128 | * "git tag --list" can be given "--points-at <object>" to limit its |
129 | output to those that point at the given object. | |
130 | ||
12766861 | 131 | * "gitweb" allows intermediate entries in the directory hierarchy |
42e52e35 | 132 | that leads to a project to be clicked, which in turn shows the |
12766861 JH |
133 | list of projects inside that directory. |
134 | ||
3724cc7c JH |
135 | * "gitweb" learned to read various pieces of information for the |
136 | repositories lazily, instead of reading everything that could be | |
137 | needed (including the ones that are not necessary for a specific | |
138 | task). | |
139 | ||
4a92a172 JH |
140 | * Project search in "gitweb" shows the substring that matched in the |
141 | project name and description highlighted. | |
142 | ||
e8dde3e5 JH |
143 | * HTTP transport learned to authenticate with a proxy if needed. |
144 | ||
0e2d57fd JH |
145 | * A new script "diffall" is added to contrib/; it drives an |
146 | external tool to perform a directory diff of two Git revisions | |
fa678feb JH |
147 | in one go, unlike "difftool" that compares one file at a time. |
148 | ||
222433ee JH |
149 | Foreign Interface |
150 | ||
56a33c8f | 151 | * Improved handling of views, labels and branches in "git-p4" (in contrib). |
222433ee JH |
152 | |
153 | * "git-p4" (in contrib) suffered from unnecessary merge conflicts when | |
154 | p4 expanded the embedded $RCS$-like keywords; it can be now told to | |
155 | unexpand them. | |
156 | ||
157 | * Some "git-svn" updates. | |
158 | ||
159 | * "vcs-svn"/"svn-fe" learned to read dumps with svn-deltas and | |
160 | support incremental imports. | |
161 | ||
56a33c8f JH |
162 | * "git difftool/mergetool" learned to drive DeltaWalker. |
163 | ||
85da4d45 JH |
164 | Performance |
165 | ||
56a33c8f JH |
166 | * Unnecessary calls to parse_object() "git upload-pack" makes in |
167 | response to "git fetch", have been eliminated, to help performance | |
168 | in repositories with excessive number of refs. | |
85da4d45 | 169 | |
b3a769dc | 170 | Internal Implementation (please report possible regressions) |
85da4d45 JH |
171 | |
172 | * Recursive call chains in "git index-pack" to deal with long delta | |
173 | chains have been flattened, to reduce the stack footprint. | |
174 | ||
b3a769dc JH |
175 | * Use of add_extra_ref() API is now gone, to make it possible to |
176 | cleanly restructure the overall refs API. | |
177 | ||
178 | * The command line parser of "git pack-objects" now uses parse-options | |
179 | API. | |
85da4d45 JH |
180 | |
181 | * The test suite supports the new "test_pause" helper function. | |
182 | ||
ba998d33 JH |
183 | * Parallel to the test suite, there is a beginning of performance |
184 | benchmarking framework. | |
185 | ||
f3fb0750 JH |
186 | * t/Makefile is adjusted to prevent newer versions of GNU make from |
187 | running tests in seemingly random order. | |
188 | ||
56a33c8f JH |
189 | * The code to check if a path points at a file beyond a symbolic link |
190 | has been restructured to be thread-safe. | |
191 | ||
42e52e35 JH |
192 | * When pruning directories that has become empty during "git prune" |
193 | and "git prune-packed", call closedir() that iterates over a | |
194 | directory before rmdir() it. | |
195 | ||
85da4d45 JH |
196 | Also contains minor documentation updates and code clean-ups. |
197 | ||
198 | ||
199 | Fixes since v1.7.9 | |
200 | ------------------ | |
201 | ||
202 | Unless otherwise noted, all the fixes since v1.7.9 in the maintenance | |
203 | releases are contained in this release (see release notes to them for | |
204 | details). | |
205 | ||
c16df57c JH |
206 | * Build with NO_PERL_MAKEMAKER was broken and Git::I18N did not work |
207 | with versions of Perl older than 5.8.3. | |
208 | (merge 5eb660e ab/perl-i18n later to maint). | |
209 | ||
fa678feb JH |
210 | * "git tag -s" honored "gpg.program" configuration variable since |
211 | 1.7.9, but "git tag -v" and "git verify-tag" didn't. | |
212 | (merge a2c2506 az/verify-tag-use-gpg-config later to maint). | |
3724cc7c | 213 | |
fae9d761 JH |
214 | * "configure" script learned to take "--with-sane-tool-path" from the |
215 | command line to record SANE_TOOL_PATH (used to avoid broken platform | |
216 | tools in /usr/bin) in config.mak.autogen. This may be useful for | |
217 | people on Solaris who have saner tools outside /usr/xpg[46]/bin. | |
bc62ca13 | 218 | |
c16df57c | 219 | * zsh port of bash completion script needed another workaround. |