@@ -8,23 +8,22 @@ When "git push [$there]" does not say what to push, we have used the
88traditional "matching" semantics so far (all your branches were sent
99to the remote as long as there already are branches of the same name
1010over there). In Git 2.0, the default will change to the "simple"
11- semantics that pushes the current branch to the branch with the same
12- name, only when the current branch is set to integrate with that
13- remote branch. There is a user preference configuration variable
11+ semantics that pushes only the current branch to the branch with the same
12+ name, and only when the current branch is set to integrate with that
13+ remote branch. Use the user preference configuration variable
1414"push.default" to change this. If you are an old-timer who is used
15- to the "matching" semantics, you can set it to "matching" to keep the
16- traditional behaviour. If you want to live in the future early,
17- you can set it to "simple" today without waiting for Git 2.0.
18-
19- When "git add -u" and "git add -A", that does not specify what paths
20- to add on the command line is run from inside a subdirectory, these
21- commands will operate on the entire tree in Git 2.0 for consistency
22- with "git commit -a" and other commands. Because there will be no
23- mechanism to make "git add -u" behave as if "git add -u .", it is
24- important for those who are used to "git add -u" (without pathspec)
25- updating the index only for paths in the current subdirectory to start
26- training their fingers to explicitly say "git add -u ." when they mean
27- it before Git 2.0 comes. A warning is issued when these commands are
15+ to the "matching" semantics, you can set the variable to "matching"
16+ to keep the traditional behaviour. If you want to live in the future
17+ early, you can set it to "simple" today without waiting for Git 2.0.
18+
19+ When "git add -u" (and "git add -A") is run inside a subdirectory and
20+ does not specify which paths to add on the command line, it
21+ will operate on the entire tree in Git 2.0 for consistency
22+ with "git commit -a" and other commands. There will be no
23+ mechanism to make plain "git add -u" behave like "git add -u .".
24+ Current users of "git add -u" (without a pathspec) should start
25+ training their fingers to explicitly say "git add -u ."
26+ before Git 2.0 comes. A warning is issued when these commands are
2827run without a pathspec and when you have local changes outside the
2928current directory, because the behaviour in Git 2.0 will be different
3029from today's version in such a situation.
@@ -33,8 +32,8 @@ In Git 2.0, "git add <path>" will behave as "git add -A <path>", so
3332that "git add dir/" will notice paths you removed from the directory
3433and record the removal. Versions before Git 2.0, including this
3534release, will keep ignoring removals, but the users who rely on this
36- behaviour is encouraged to use "git add --ignore-removal <path>" and
37- get used to it .
35+ behaviour are encouraged to start using "git add --ignore-removal <path>"
36+ now before 2.0 is released .
3837
3938
4039Updates since v1.8.2
@@ -114,7 +113,7 @@ UI, Workflows & Features
114113 * "git status" suggests users to look into using --untracked=no option
115114 when it takes too long.
116115
117- * "git status" shows a bit more information to "git status" during a
116+ * "git status" shows a bit more information during a
118117 rebase/bisect session.
119118
120119 * "git fetch" learned to fetch a commit at the tip of an unadvertised
@@ -148,8 +147,8 @@ UI, Workflows & Features
148147
149148 * "git mergetool" now feeds files to the "p4merge" backend in the
150149 order that matches the p4 convention, where "theirs" is usually
151- shown on the left side, which is the opposite from other backend
152- expects .
150+ shown on the left side, which is the opposite from what other backends
151+ expect .
153152
154153 * "show/log" now honors gpg.program configuration just like other
155154 parts of the code that use GnuPG.
@@ -173,7 +172,7 @@ Performance, Internal Implementation, etc.
173172
174173 * Updates for building under msvc.
175174
176- * A handful of issues in the code to traverse working tree to find
175+ * A handful of issues in the code that traverses the working tree to find
177176 untracked and/or ignored files have been fixed, and the general
178177 codepath involved in "status -u" and "clean" have been cleaned up
179178 and optimized.
@@ -182,15 +181,15 @@ Performance, Internal Implementation, etc.
182181 pack has been shrunk.
183182
184183 * The logic to coalesce the same lines removed from the parents in
185- the output from "diff -c/--cc" has been updated, but with an O(n^2)
184+ the output from "diff -c/--cc" has been updated, but with O(n^2)
186185 complexity, so this might turn out to be undesirable.
187186
188187 * The code to enforce permission bits on files in $GIT_DIR/ for
189- shared repositories have been simplified.
188+ shared repositories has been simplified.
190189
191- * A few codepaths knew how much data they need to put in the
192- hashtables they use upfront , but still started from a small table
193- repeatedly growing and rehashing .
190+ * A few codepaths know how much data they need to put in the
191+ hashtables they use when they start , but still began with small tables
192+ and repeatedly grew and rehashed them .
194193
195194 * The API to walk reflog entries from the latest to older, which was
196195 necessary for operations such as "git checkout -", was cumbersome
@@ -202,9 +201,9 @@ Performance, Internal Implementation, etc.
202201 * The pkt-line API, implementation and its callers have been cleaned
203202 up to make them more robust.
204203
205- * Cygwin port has a faster-but-lying lstat(2) emulation whose
204+ * The Cygwin port has a faster-but-lying lstat(2) emulation whose
206205 incorrectness does not matter in practice except for a few
207- codepaths, and setting permission bits to directories is a codepath
206+ codepaths, and setting permission bits on directories is a codepath
208207 that needs to use a more correct one.
209208
210209 * "git checkout" had repeated pathspec matches on the same paths,
@@ -225,60 +224,60 @@ Unless otherwise noted, all the fixes since v1.8.2 in the maintenance
225224track are contained in this release (see release notes to them for
226225details).
227226
228- * When receive-pack detects error in the pack header it received in
227+ * When receive-pack detects an error in the pack header it received in
229228 order to decide which of unpack-objects or index-pack to run, it
230- returned without closing the error stream, which led to a hang
229+ returned without closing the error stream, which led to a hung
231230 sideband thread.
232231
233- * Zsh completion forgot that '%' character used to signal untracked
232+ * Zsh completion forgot that the '%' character used to signal untracked
234233 files needs to be escaped with another '%'.
235234
236235 * A commit object whose author or committer ident are malformed
237- crashed some code that trusted that a name, an email and an
236+ crashed some code that trusted that a name, an email and a
238237 timestamp can always be found in it.
239238
240239 * When "upload-pack" fails while generating a pack in response to
241- "git fetch" (or "git clone"), the receiving side mistakenly said
242- there was a programming error to trigger the die handler
240+ "git fetch" (or "git clone"), the receiving side had
241+ a programming error that triggered the die handler
243242 recursively.
244243
245- * "rev-list --stdin" and friends kept bogus pointers into input
246- buffer around as human readble object names. This was not a huge
244+ * "rev-list --stdin" and friends kept bogus pointers into the input
245+ buffer around as human readable object names. This was not a huge
247246 problem but was exposed by a new change that uses these names in
248247 error output.
249248 (merge 70d26c6 tr/copy-revisions-from-stdin later to maint).
250249
251250 * Smart-capable HTTP servers were not restricted via the
252- GIT_NAMESPACE mechanism when talking with commit-walker clients,
253- like they do when talking with smart HTTP clients.
251+ GIT_NAMESPACE mechanism when talking with commit-walking clients,
252+ like they are when talking with smart HTTP clients.
254253 (merge 6130f86 jk/http-dumb-namespaces later to maint).
255254
256255 * "git merge-tree" did not omit a merge result that is identical to
257- "our" side in certain cases.
256+ the "our" side in certain cases.
258257 (merge aacecc3 jk/merge-tree-added-identically later to maint).
259258
260- * Perl scripts like "git-svn" closed (not redirecting to /dev/null)
259+ * Perl scripts like "git-svn" closed (instead of redirecting to /dev/null)
261260 the standard error stream, which is not a very smart thing to do.
262- Later open may return file descriptor #2 for unrelated purpose, and
263- error reporting code may write into them .
261+ A later open may return file descriptor #2 for an unrelated purpose, and
262+ error reporting code may write into it .
264263
265264 * "git show-branch" was not prepared to show a very long run of
266265 ancestor operators e.g. foobar^2~2^2^2^2...^2~4 correctly.
267266
268267 * "git diff --diff-algorithm algo" is also understood as "git diff
269268 --diff-algorithm=algo".
270269
271- * The new core.commentchar configuration was not applied to a few
270+ * The new core.commentchar configuration was not applied in a few
272271 places.
273272
274- * "git bundle" did not like a bundle created using a commit without
275- any message as its one of the prerequistes .
273+ * "git bundle" erroneously bailed out when parsing a valid bundle
274+ containing a prerequisite commit without a commit message .
276275
277276 * "git log -S/-G" started paying attention to textconv filter, but
278- there was no way to disable this. Make it honor --no-textconv
277+ there was no way to disable this. Make it honor the --no-textconv
279278 option.
280279
281- * When used with "-d temporary-directory" option, "git filter-branch"
280+ * When used with the "-d temporary-directory" option, "git filter-branch"
282281 failed to come back to the original working tree to perform the
283282 final clean-up procedure.
284283
@@ -287,9 +286,9 @@ details).
287286 not pay much attention to the annotated tag payload. Make the code
288287 notice the type of the tag object, in addition to the dwim_ref()
289288 based classification the current code uses (i.e. the name appears
290- in refs/tags/) to decide when to special case merging of tags .
289+ in refs/tags/) to decide when to special- case tag merging .
291290
292- * Fix 1.8.1.x regression that stopped matching "dir" (without
291+ * Fix a 1.8.1.x regression that stopped matching "dir" (without a
293292 trailing slash) to a directory "dir".
294293 (merge efa5f82 jc/directory-attrs-regression-fix later to maint-1.8.1).
295294
@@ -300,64 +299,64 @@ details).
300299 * The prompt string generator (in contrib/completion/) did not notice
301300 when we are in a middle of a "git revert" session.
302301
303- * "submodule summary --summary-limit" option did not support
302+ * "submodule summary --summary-limit" option did not support the
304303 "--option=value" form.
305304
306305 * "index-pack --fix-thin" used an uninitialized value to compute
307- delta depths of objects it appends to the resulting pack.
306+ the delta depths of objects it appends to the resulting pack.
308307
309- * "index-pack --verify-stat" used a few counters outside protection
310- of mutex, possibly showing incorrect numbers.
308+ * "index-pack --verify-stat" used a few counters outside the protection
309+ of a mutex, possibly showing incorrect numbers.
311310
312311 * The code to keep track of what directory names are known to Git on
313- platforms with case insensitive filesystems can get confused upon a
314- hash collision between these pathnames and looped forever.
312+ platforms with case insensitive filesystems could get confused upon a
313+ hash collision between these pathnames and would loop forever.
315314
316- * Annotated tags outside refs/tags/ hierarchy were not advertised
317- correctly to the ls-remote and fetch with recent version of Git.
315+ * Annotated tags outside the refs/tags/ hierarchy were not advertised
316+ correctly to ls-remote and fetch with recent versions of Git.
318317
319- * Recent optimization broke shallow clones.
318+ * Recent optimizations broke shallow clones.
320319
321320 * "git cmd -- ':(top'" was not diagnosed as an invalid syntax, and
322321 instead the parser kept reading beyond the end of the string.
323322
324323 * "git tag -f <tag>" always said "Updated tag '<tag>'" even when
325- creating a new tag (i.e. not overwriting nor updating).
324+ creating a new tag (i.e. neither overwriting nor updating).
326325
327326 * "git p4" did not behave well when the path to the root of the P4
328327 client was not its real path.
329328 (merge bbd8486 pw/p4-symlinked-root later to maint).
330329
331- * "git archive" reports a failure when asked to create an archive out
332- of an empty tree. It would be more intuitive to give an empty
330+ * "git archive" reported a failure when asked to create an archive out
331+ of an empty tree. It is more intuitive to give an empty
333332 archive back in such a case.
334333
335- * When "format-patch" quoted a non-ascii strings on the header files,
334+ * When "format-patch" quoted a non-ascii string in header files,
336335 it incorrectly applied rfc2047 and chopped a single character in
337- the middle of it .
336+ the middle of the string .
338337
339338 * An aliased command spawned from a bare repository that does not say
340- it is bare with "core.bare = yes" is treated as non-bare by mistake.
339+ it is bare with "core.bare = yes" was treated as non-bare by mistake.
341340
342- * In "git reflog expire", REACHABLE bit was not cleared from the
341+ * In "git reflog expire", the REACHABLE bit was not cleared from the
343342 correct objects.
344343
345344 * The logic used by "git diff -M --stat" to shorten the names of
346345 files before and after a rename did not work correctly when the
347346 common prefix and suffix between the two filenames overlapped.
348347
349348 * The "--match=<pattern>" option of "git describe", when used with
350- "--all" to allow refs that are not annotated tags to be used as a
349+ "--all" to allow refs that are not annotated tags to be a
351350 base of description, did not restrict the output from the command
352- to those that match the given pattern.
351+ to those refs that match the given pattern.
353352
354353 * Clarify in the documentation "what" gets pushed to "where" when the
355354 command line to "git push" does not say these explicitly.
356355
357356 * The "--color=<when>" argument to the commands in the diff family
358357 was described poorly.
359358
360- * The arguments given to pre-rebase hook were not documented.
359+ * The arguments given to the pre-rebase hook were not documented.
361360
362361 * The v4 index format was not documented.
363362
@@ -375,7 +374,7 @@ details).
375374
376375 * In the v1.8.0 era, we changed symbols that do not have to be global
377376 to file scope static, but a few functions in graph.c were used by
378- CGit from sideways bypassing the entry points of the API the
377+ CGit sideways, bypassing the entry points of the API the
379378 in-tree users use.
380379
381380 * "git update-index -h" did not do the usual "-h(elp)" thing.
@@ -388,30 +387,30 @@ details).
388387 $msg already ended with one.
389388
390389 * The SSL peer verification done by "git imap-send" did not ask for
391- Server Name Indication (RFC 4366), failing to connect SSL/TLS
390+ Server Name Indication (RFC 4366), failing to connect to SSL/TLS
392391 sites that serve multiple hostnames on a single IP.
393392
394393 * perl/Git.pm::cat_blob slurped everything in core only to write it
395394 out to a file descriptor, which was not a very smart thing to do.
396395
397396 * "git branch" did not bother to check nonsense command line
398- parameters and issue errors in many cases.
397+ parameters. It now issues errors in many cases.
399398
400- * Verification of signed tags were not done correctly when not in C
399+ * Verification of signed tags was not done correctly when not in C
401400 or en/US locale.
402401
403402 * Some platforms and users spell UTF-8 differently; retry with the
404403 most official "UTF-8" when the system does not understand the
405- user-supplied encoding name that are the common alternative
406- spellings of UTF-8.
404+ user-supplied encoding name that is a common alternative
405+ spelling of UTF-8.
407406
408- * When export-subst is used, "zip" output recorded incorrect
407+ * When export-subst is used, "zip" output recorded an incorrect
409408 size of the file.
410409
411410 * "git am $maildir/" applied messages in an unexpected order; sort
412411 filenames read from the maildir/ in a way that is more likely to
413- sort messages in the order the writing MUA meant to, by sorting
414- numeric segment in numeric order and non-numeric segment in
412+ sort the messages in the order the writing MUA meant to, by sorting
413+ numeric segments in numeric order and non-numeric segments in
415414 alphabetical order.
416415
417416 * "git submodule update", when recursed into sub-submodules, did not
0 commit comments