9
9
* Building on older MacOS X systems automatically sets
10
10
the necessary NO_APPLE_COMMON_CRYPTO build-time option.
11
11
12
- * The support to build with NO_PTHREADS has been resurrected.
12
+ * Building with NO_PTHREADS has been resurrected.
13
13
14
- * Compilation options has been updated a bit to support z/OS port
15
- better .
14
+ * Compilation options have been updated a bit to better support the
15
+ z/OS port .
16
16
17
17
18
18
UI, Workflows & Features
19
19
20
- * "git archive" learned to filter what gets archived with pathspec.
20
+ * "git archive" learned to filter what gets archived with a pathspec.
21
21
22
22
* "git config --edit --global" starts from a skeletal per-user
23
23
configuration file contents, instead of a total blank, when the
24
- user does not already have any. This immediately reduces the
25
- need for a later "Have you forgotten setting core.user?" and we
26
- can add more to the template as we gain more experience.
24
+ user does not already have any global config. This immediately
25
+ reduces the need to later ask "Have you forgotten to set
26
+ core.user?", and we can add more to the template as we gain
27
+ more experience.
27
28
28
29
* "git stash list -p" used to be almost always a no-op because each
29
30
stash entry is represented as a merge commit. It learned to show
@@ -33,30 +34,30 @@ UI, Workflows & Features
33
34
* Sometimes users want to report a bug they experience on their
34
35
repository, but they are not at liberty to share the contents of
35
36
the repository. "fast-export" was taught an "--anonymize" option
36
- to replace blob contents, names of people and paths and log
37
+ to replace blob contents, names of people, paths and log
37
38
messages with bland and simple strings to help them.
38
39
39
40
* "git difftool" learned an option to stop feeding paths to the
40
41
diff backend when it exits with a non-zero status.
41
42
42
- * "git grep" allows to paint (or not paint) partial matches on
43
+ * "git grep" learned to paint (or not paint) partial matches on
43
44
context lines when showing "grep -C<num>" output in color.
44
45
45
- * "log --date=iso" uses a slight variant of ISO 8601 format that is
46
- made more human readable. A new "--date=iso-strict" option gives
47
- datetime output that is more strictly conformant .
46
+ * "log --date=iso" uses a slight variant of the ISO 8601 format that is
47
+ more human readable. A new "--date=iso-strict" option gives
48
+ datetime output that conforms more strictly.
48
49
49
50
* The logic "git prune" uses is more resilient against various corner
50
51
cases.
51
52
52
53
* A broken reimplementation of Git could write an invalid index that
53
- records both stage #0 and higher stage entries for the same path.
54
+ records both stage #0 and higher- stage entries for the same path.
54
55
We now notice and reject such an index, as there is no sensible
55
56
fallback (we do not know if the broken tool wanted to resolve and
56
- forgot to remove higher stage entries, or if it wanted to unresolve
57
- and forgot to remove the stage#0 entry).
57
+ forgot to remove the higher- stage entries, or if it wanted to unresolve
58
+ and forgot to remove the stage #0 entry).
58
59
59
- * The temporary files "git mergetool" uses are named to avoid too
60
+ * The temporary files "git mergetool" uses are renamed to avoid too
60
61
many dots in them (e.g. a temporary file for "hello.c" used to be
61
62
named e.g. "hello.BASE.4321.c" but now uses underscore instead,
62
63
e.g. "hello_BASE_4321.c", to allow us to have multiple variants).
@@ -73,7 +74,7 @@ UI, Workflows & Features
73
74
to consume their input fully (not following this requirement used
74
75
to result in intermittent errors in "git push").
75
76
76
- * The pretty-format specifier "%d", which expanded to " (tagname)"
77
+ * The pretty-format specifier "%d", which expands to " (tagname)"
77
78
for a tagged commit, gained a cousin "%D" that just gives the
78
79
"tagname" without frills.
79
80
@@ -86,14 +87,14 @@ UI, Workflows & Features
86
87
without having to "trust" the server.
87
88
88
89
* "git interpret-trailers" is a new filter to programmatically edit
89
- the tail end of the commit log messages, e.g. "Signed-off-by:".
90
+ the tail end of the commit log messages, e.g. "Signed-off-by:".
90
91
91
92
* "git help everyday" shows the "Everyday Git in 20 commands or so"
92
93
document, whose contents have been updated to match more modern
93
94
Git practice.
94
95
95
- * On the "git svn" front, work to reduce memory consumption and
96
- to improve handling of mergeinfo progresses .
96
+ * On the "git svn" front, work progresses to reduce memory consumption and
97
+ to improve handling of mergeinfo.
97
98
98
99
99
100
Performance, Internal Implementation, Development Support etc.
@@ -106,42 +107,42 @@ Performance, Internal Implementation, Development Support etc.
106
107
* The lockfile API and its users have been cleaned up.
107
108
108
109
* We no longer attempt to keep track of individual dependencies to
109
- the header files in the build procedure, relying on automated
110
+ the header files in the build procedure, relying instead on automated
110
111
dependency generation support from modern compilers.
111
112
112
113
* In tests, we have been using NOT_{MINGW,CYGWIN} test prerequisites
113
114
long before negated prerequisites e.g. !MINGW were invented.
114
115
The former has been converted to the latter to avoid confusion.
115
116
116
- * Looking up remotes configuration in a repository with very many
117
- remotes defined has been optimized .
117
+ * Optimized looking up a remote's configuration in a repository with very many
118
+ remotes defined.
118
119
119
120
* There are cases where you lock and open to write a file, close it
120
- to show the updated contents to external processes, and then have
121
+ to show the updated contents to an external processes, and then have
121
122
to update the file again while still holding the lock; now the
122
123
lockfile API has support for such an access pattern.
123
124
124
125
* The API to allocate the structure to keep track of commit
125
126
decoration has been updated to make it less cumbersome to use.
126
127
127
128
* An in-core caching layer to let us avoid reading the same
128
- configuration files number of times has been added. A few commands
129
+ configuration files several times has been added. A few commands
129
130
have been converted to use this subsystem.
130
131
131
132
* Various code paths have been cleaned up and simplified by using
132
- "strbuf", "starts_with()", and "skip_prefix()" APIs more.
133
+ the "strbuf", "starts_with()", and "skip_prefix()" APIs more.
133
134
134
135
* A few codepaths that died when large blobs that would not fit in
135
136
core are involved in their operation have been taught to punt
136
- instead, by e.g. marking too large a blob as not to be diffed.
137
+ instead, by e.g. marking a too- large blob as not to be diffed.
137
138
138
139
* A few more code paths in "commit" and "checkout" have been taught
139
140
to repopulate the cache-tree in the index, to help speed up later
140
141
"write-tree" (used in "commit") and "diff-index --cached" (used in
141
142
"status").
142
143
143
144
* A common programming mistake to assign the same short option name
144
- to two separate options is detected by parse_options() API to help
145
+ to two separate options is detected by the parse_options() API to help
145
146
developers.
146
147
147
148
* The code path to write out the packed-refs file has been optimized,
@@ -153,7 +154,7 @@ Performance, Internal Implementation, Development Support etc.
153
154
especially matters in a repository with a large number of existing
154
155
refs.
155
156
156
- * "git fsck" was taught to check contents of tag objects a bit more.
157
+ * "git fsck" was taught to check the contents of tag objects a bit more.
157
158
158
159
* "git hash-object" was taught a "--literally" option to help
159
160
debugging.
@@ -162,16 +163,16 @@ Performance, Internal Implementation, Development Support etc.
162
163
original before feeding the filter. Instead, stream the file
163
164
contents directly to the filter and process its output.
164
165
165
- * The scripts in the test suite can be run with "-x" option to show
166
- a shell-trace of each command run in them .
166
+ * The scripts in the test suite can be run with the "-x" option to show
167
+ a shell-trace of each command they run .
167
168
168
169
* The "run-command" API learned to manage the argv and environment
169
170
arrays for child process, alleviating the need for the callers to
170
171
allocate and deallocate them.
171
172
172
173
* Some people use AsciiDoctor, instead of AsciiDoc, to format our
173
174
documentation set; the documentation has been adjusted to be usable
174
- by both, as AsciiDoctor is pickier than AsciiDoc in its input
175
+ by both, as AsciiDoctor is pickier than AsciiDoc about its input
175
176
mark-up.
176
177
177
178
@@ -190,21 +191,21 @@ notes for details).
190
191
format", which was counterintuitive.
191
192
192
193
* "git -c section.var command" and "git -c section.var= command"
193
- should pass the configuration differently (the former should be a
194
+ should pass the configuration value differently (the former should be a
194
195
boolean true, the latter should be an empty string).
195
196
196
197
* Applying a patch not generated by Git in a subdirectory used to
197
- check the whitespace breakage using the attributes for incorrect
198
+ check for whitespace breakage using the attributes of incorrect
198
199
paths. Also whitespace checks were performed even for paths
199
- excluded via "git apply --exclude=<path>" mechanism.
200
+ excluded via the "git apply --exclude=<path>" mechanism.
200
201
201
- * "git bundle create" with date-range specification were meant to
202
+ * "git bundle create" with a date-range specification was meant to
202
203
exclude tags outside the range, but it didn't.
203
204
204
- * "git add x" where x that used to be a directory has become a
205
+ * "git add x" where x used to be a directory and is now a
205
206
symbolic link to a directory misbehaved.
206
207
207
- * The prompt script checked $GIT_DIR/ref/stash file to see if there
208
+ * The prompt script checked the $GIT_DIR/ref/stash file to see if there
208
209
is a stash, which was a no-no.
209
210
210
211
* Pack-protocol documentation had a minor typo.
@@ -218,7 +219,7 @@ notes for details).
218
219
(merge 107efbe rs/daemon-fixes later to maint).
219
220
220
221
* With sufficiently long refnames, "git fast-import" could have
221
- overflown an on-stack buffer.
222
+ overflowed an on-stack buffer.
222
223
223
224
* After "pack-refs --prune" packed refs at the top-level, it failed
224
225
to prune them.
@@ -233,8 +234,8 @@ notes for details).
233
234
to first check out <branch>.
234
235
(merge 95c6826 so/rebase-doc later to maint).
235
236
236
- * "git push" over HTTP transport had an artificial limit on number of
237
- refs that can be pushed imposed by the command line length.
237
+ * "git push" over HTTP transport had an artificial limit on the number of
238
+ refs that can be pushed, imposed by the command line length.
238
239
(merge 26be19b jk/send-pack-many-refspecs later to maint).
239
240
240
241
* When receiving an invalid pack stream that records the same object
@@ -249,19 +250,19 @@ notes for details).
249
250
detached HEAD as a starting point to traverse objects still in use.
250
251
(merge c40fdd0 mk/reachable-protect-detached-head later to maint).
251
252
252
- * "git config --add section.var val" used to lose existing
253
- section.var whose value was an empty string.
253
+ * "git config --add section.var val" when section.var already has an
254
+ empty-string value used to lose the empty- string value .
254
255
(merge c1063be ta/config-add-to-empty-or-true-fix later to maint).
255
256
256
257
* "git fsck" failed to report that it found corrupt objects via its
257
258
exit status in some cases.
258
259
(merge 30d1038 jk/fsck-exit-code-fix later to maint).
259
260
260
- * Use of "--verbose" option used to break "git branch --merged".
261
+ * Use of the "--verbose" option used to break "git branch --merged".
261
262
(merge 12994dd jk/maint-branch-verbose-merged later to maint).
262
263
263
- * Some MUAs mangled a line in a message that begins with "From " to
264
- ">From " when writing to a mailbox file and feeding such an input
264
+ * Some MUAs mangle a line in a message that begins with "From " to
265
+ ">From " when writing to a mailbox file, and feeding such an input
265
266
to "git am" used to lose such a line.
266
267
(merge 85de86a jk/mbox-from-line later to maint).
267
268
@@ -274,8 +275,8 @@ notes for details).
274
275
coding guidelines.
275
276
(merge 1c4b660 da/include-compat-util-first-in-c later to maint).
276
277
277
- * t7004 test, which tried to run Git with small stack space, has been
278
- updated to give a bit larger stack to avoid false breakage on some
278
+ * The t7004 test, which tried to run Git with small stack space, has been
279
+ updated to use a bit larger stack to avoid false breakage on some
279
280
platforms.
280
281
(merge b9a1907 sk/tag-contains-wo-recursion later to maint).
281
282
@@ -288,11 +289,11 @@ notes for details).
288
289
CGI.pm as of 4.04; use CGI::start_from instead.
289
290
(merge 4750f4b rm/gitweb-start-form later to maint).
290
291
291
- * Newer versions of 'meld' breaks the auto-detection we use to see if
292
+ * Newer versions of 'meld' break the auto-detection we use to see if
292
293
they are new enough to support the `--output` option.
293
294
(merge b12d045 da/mergetool-meld later to maint).
294
295
295
- * "git pack-objects" forgot to disable the codepath to generate
296
+ * "git pack-objects" forgot to disable the codepath to generate the
296
297
object reachability bitmap when it needs to split the resulting
297
298
pack.
298
299
(merge 2113471 jk/pack-objects-no-bitmap-when-splitting later to maint).
@@ -302,7 +303,7 @@ notes for details).
302
303
index file.
303
304
(merge 729dbbd jk/cache-tree-protect-from-broken-libgit2 later to maint).
304
305
305
- * "git fetch" into a repository where branch B was deleted earlier
306
+ * "git fetch" into a repository where branch B was deleted earlier,
306
307
back when it had reflog enabled, and then branch B/C is fetched
307
308
into it without reflog enabled, which is arguably an unlikely
308
309
corner case, unnecessarily failed.
0 commit comments