What's cooking (2013/07 #04)

Junio C Hamano committed Jul 11, 2013 at 16:36 UTC 4b3bcdd1764466f2f9b85ef9d9aa4cf28ac4b89f
1 file changed +327 -285
whats-cooking.txt
+327 -285
@@ -1,151 +1,147 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Jul 2013, #03; Tue, 9)
4 -X-master-at: f8abaebab3fe1a1b873f9636ea410ac4007c8fa8
5 -X-next-at: 3d27516a463a68ec338ac7d8cf6c700422cf7a2e
3 +Subject: What's cooking in git.git (Jul 2013, #04; Thu, 11)
4 +X-master-at: 911011aacc78dfa8ac81a5e631cb86bb69fd66e1
5 +X-next-at: 71b857428ffd5d83c0aea148f93f6de2820be300
6
7 -What's cooking in git.git (Jul 2013, #03; Tue, 9)
7 +What's cooking in git.git (Jul 2013, #04; Thu, 11)
8 --------------------------------------------------
9
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
12 '+' are in 'next'.
13
14 -We are in the middle of 6th week now in the 11-week releace cycle
15 -for 1.8.4, and quite a few topics have graduated to 'master'.
16 -Please help ensure the quality of the upcoming release by testing
17 -the tip of 'master' (and if you are so inclined, 'next') early.
18 -
14 You can find the changes described here in the integration branches
15 of the repositories listed at
16
17 http://git-blame.blogspot.com/p/git-public-repositories.html
18
19 --------------------------------------------------
25 -[New Topics]
26 -
27 -* bc/push-match-many-refs (2013-07-08) 1 commit
28 - - remote.c: avoid O(m*n) behavior in match_push_refs
29 -
30 - Pushing to repositories with many refs employed O(m*n) algorithm
31 - where n is the number of refs on the receiving end.
32 -
33 - Will merge to 'next'.
34 -
35 -
36 -* ft/diff-rename-default-score-is-half (2013-07-05) 1 commit
37 - (merged to 'next' on 2013-07-09 at 6a6b57e)
38 - + diff-options: document default similarity index
39 -
40 - Will merge to 'master'.
41 -
20 +[Graduated to "master"]
21
43 -* jc/name-rev-exact-ref (2013-07-09) 3 commits
44 - - describe: use argv-array
45 - - name-rev: allow converting the exact object name at the tip of a ref
46 - - name-ref: factor out name shortening logic from name_ref()
22 +* af/rebase-i-merge-options (2013-07-02) 1 commit
23 + (merged to 'next' on 2013-07-08 at f411975)
24 + + Do not ignore merge options in interactive rebase
25
48 - Corrects the longstanding sloppiness in the implementation of
49 - name-rev that conflated "we take commit-ish" and "differences
50 - between tags and commits do not matter".
26 + "git rebase -i" now honors --strategy and -X options.
27
52 - Will merge to 'next'.
28
29 +* jc/maint-diff-core-safecrlf (2013-06-25) 1 commit
30 + (merged to 'next' on 2013-07-03 at db8a2a6)
31 + + diff: demote core.safecrlf=true to core.safecrlf=warn
32
55 -* jk/in-pack-size-measurement (2013-07-07) 4 commits
56 - - pack-revindex: radix-sort the revindex
57 - - cat-file: add --batch-disk-sizes option
58 - - teach sha1_object_info_extended a "disk_size" query
59 - - zero-initialize object_info structs
33 + "git diff" refused to even show difference when core.safecrlf is
34 + set to true (i.e. error out) and there are offending lines in the
35 + working tree files.
36
61 - Allow on-disk footprint of objects in packfiles (often they are a
62 - lot smaller than their true size, when expressed as deltas). The
63 - command line API to ask for the new extra information may be still
64 - under discussion.
37
66 - Expecting a reroll.
38 +* jc/t1512-fix (2013-07-01) 2 commits
39 + (merged to 'next' on 2013-07-09 at a6c62bb)
40 + + get_short_sha1(): correctly disambiguate type-limited abbreviation
41 + + t1512: correct leftover constants from earlier edition
42
43 + A test that should have failed but didn't revealed a bug that needs
44 + to be corrected.
45
69 -* jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
70 - - clone: drop connectivity check for local clones
71 - (this branch is used by jk/clone-shared-no-connectivity-validation.)
46
73 - "git clone -s/-l" is a filesystem level copy and does not offer any
74 - protection against source repository being corrupt. While the
75 - connectivity validation checks commits and trees being readable, it
76 - made the otherwise instantaneous local modes of clone much more
77 - expensive, without protecting blob data from bitflips.
47 +* jc/triangle-push-fixup (2013-06-24) 5 commits
48 + (merged to 'next' on 2013-06-26 at 73cbb69)
49 + + t/t5528-push-default: test pushdefault workflows
50 + + t/t5528-push-default: generalize test_push_*
51 + + push: change `simple` to accommodate triangular workflows
52 + + config doc: rewrite push.default section
53 + + t/t5528-push-default: remove redundant test_config lines
54
79 - Will merge to 'next'.
55 + Earlier remote.pushdefault (and per-branch branch.*.pushremote)
56 + were introduced as an additional mechanism to choose what
57 + repository to push into when "git push" did not say it from the
58 + command line, to help people who push to a repository that is
59 + different from where they fetch from. This attempts to finish that
60 + topic by teaching the default mechanism to choose branch in the
61 + remote repository to be updated by such a push.
62
63 + The 'current', 'matching' and 'nothing' modes (specified by the
64 + push.default configuration variable) extend to such a "triangular"
65 + workflow naturally, but 'upstream' and 'simple' have to be updated.
66
82 -* jk/maint-config-multi-order (2013-07-07) 1 commit
83 - (merged to 'next' on 2013-07-09 at 0db1db9)
84 - + git-config(1): clarify precedence of multiple values
67 + . 'upstream' is about pushing back to update the branch in the
68 + remote repository that the current branch fetches from and
69 + integrates with, it errors out in a triangular workflow.
70
86 - Will merge to 'master'.
71 + . 'simple' is meant to help new people by avoiding mistakes, and
72 + will be the safe default in Git 2.0. In a non-triangular
73 + workflow, it will continue to act as a cross between 'upstream'
74 + and 'current' in that it pushes to the current branch's
75 + @{upstream} only when it is set to the same name as the current
76 + branch (e.g. your 'master' forks from the 'master' from the
77 + central repository). In a triangular workflow, this series
78 + tentatively defines it as the same as 'current', but we may have
79 + to tighten it to avoid surprises in some way.
80
81
89 -* jk/pull-to-integrate (2013-07-08) 2 commits
90 - (merged to 'next' on 2013-07-09 at 2ecac24)
91 - + pull: change the description to "integrate" changes
92 - + push: avoid suggesting "merging" remote changes
82 +* jg/status-config (2013-06-24) 4 commits
83 + (merged to 'next' on 2013-07-03 at 6ac1ada)
84 + + status/commit: make sure --porcelain is not affected by user-facing config
85 + + commit: make it work with status.short
86 + + status: introduce status.branch to enable --branch by default
87 + + status: introduce status.short to enable --short by default
88
94 - Will merge to 'master'.
89 + "git status" learned status.branch and status.short configuration
90 + variables to use --branch and --short options by default (override
91 + with --no-branch and --no-short options from the command line).
92
93 + The bottom two has been graduated to 'master' but then reverted.
94 + The tip two are quick attempts to fix the fallout. The one for
95 + status.short looks correct; the other one, while it is correct,
96 + is unfortunately overly complex in order not to introduce an
97 + unnecessary regression.
98
97 -* km/svn-1.8-serf-only (2013-07-07) 2 commits
98 - - git-svn: allow git-svn fetching to work using serf
99 - - Git.pm: add new temp_is_locked function
99
101 - Comments?
100 +* jk/bash-completion (2013-06-30) 2 commits
101 + (merged to 'next' on 2013-07-01 at 6daca44)
102 + + completion: learn about --man-path
103 + + completion: handle unstuck form of base git options
104
105
106 * mh/maint-lockfile-overflow (2013-07-07) 1 commit
107 (merged to 'next' on 2013-07-09 at e1a0eac)
108 + lockfile: fix buffer overflow in path handling
109
108 - Will merge to 'master' and later to 'maint'.
109 -
110 -
111 -* rr/name-rev-stdin-doc (2013-07-07) 1 commit
112 - (merged to 'next' on 2013-07-09 at 7cfbff6)
113 - + name-rev doc: rewrite --stdin paragraph
110 + Will merge later to 'maint'.
111
115 - Will merge to 'master'.
112
113 +* pb/stash-refuse-to-kill (2013-07-01) 2 commits
114 + (merged to 'next' on 2013-07-05 at 78ecc59)
115 + + git stash: avoid data loss when "git stash save" kills a directory
116 + + treat_directory(): do not declare submodules to be untracked
117
118 -* rr/send-email-ssl-verify (2013-07-06) 6 commits
119 - - SQUASH??? update to support SSL_ca_file as well as SSL_ca_path
120 - - SQUASH??? send-email: cover both smtps and starttls cases
121 - - fixup! send-email: squelch warning from Net::SMTP::SSL
122 - - SQUASH??? send-email giving default value to ssl-cert-path with ||= assignment
123 - - send-email: introduce sendemail.smtpsslcertpath
124 - - send-email: squelch warning from Net::SMTP::SSL
125 -
126 - The issue seems a lot deeper than the initial attempt and needs
127 - somebody to sit down and sort out to get the version dependencies
128 - and lazy loading right.
129 -
130 -
131 -* rs/pickaxe-simplify (2013-07-07) 1 commit
132 - - diffcore-pickaxe: simplify has_changes and contains
133 -
134 - Will merge to 'next'.
118 + "git stash save" is not just about "saving" the local changes, but
119 + also is to restore the working tree state to that of HEAD. If you
120 + changed a non-directory into a directory in the local change, you
121 + may have untracked files in that directory, which have to be killed
122 + while doing so, unless you run it with --include-untracked. Teach
123 + the command to detect and error out before spreading the damage.
124
125 + This needed a small fix to "ls-files --killed".
126
137 -* tr/merge-recursive-index-only (2013-07-07) 3 commits
138 - - merge-recursive: -Xindex-only to leave worktree unchanged
139 - - merge-recursive: untangle double meaning of o->call_depth
140 - - merge-recursive: remove dead conditional in update_stages()
127
128 +* rr/rebase-checkout-reflog (2013-06-17) 5 commits
129 + (merged to 'next' on 2013-07-01 at 27cfd27)
130 + + checkout: respect GIT_REFLOG_ACTION
131 + (merged to 'next' on 2013-06-27 at 4d99efa)
132 + + status: do not depend on rebase reflog messages
133 + + t/t2021-checkout-last: "checkout -" should work after a rebase finishes
134 + + wt-status: remove unused field in grab_1st_switch_cbdata
135 + + t7512: test "detached from" as well
136 + (this branch is used by rr/rebase-reflog-message-reword.)
137
143 -* tr/test-lint-no-export-assignment-in-shell (2013-07-08) 2 commits
144 - (merged to 'next' on 2013-07-09 at 6f10ea2)
145 - + test-lint: detect 'export FOO=bar'
146 - + t9902: fix 'test A == B' to use = operator
138 + Invocations of "git checkout" used internally by "git rebase" were
139 + counted as "checkout", and affected later "git checkout -" to the
140 + the user to an unexpected place.
141
148 - Will merge to 'master'.
142 + The "bugfix" bits of the series is here. The follow-up part to
143 + reword reflog messages for steps in "rebase" are split to another
144 + topic.
145
146
147 * tr/test-v-and-v-subtest-only (2013-07-08) 1 commit
@@ -155,50 +151,58 @@ of the repositories listed at
151 Finishing touches to a topics that is already in master for the
152 upcoming release.
153
158 - Will merge to 'master'.
154 +--------------------------------------------------
155 +[New Topics]
156
157 +* jk/gcc-function-attributes (2013-07-09) 2 commits
158 + - use "sentinel" function attribute for variadic lists
159 + - add missing "format" function attributes
160 + (this branch is used by jk/gcc-function-attributes-more.)
161
161 -* es/overlapping-range-set (2013-07-09) 2 commits
162 - - range_set: fix coalescing bug when range is a subset of another
163 - - t4211: fix broken test when one -L range is subset of another
162 + Use the function attributes extension to catch mistakes in use of
163 + our own variadic functions that use NULL sentinel at the end
164 + (i.e. like execl(3)) and format strings (i.e. like printf(3)).
165
166 Will merge to 'next'.
167
168
168 -* jc/push-cas (2013-07-09) 7 commits
169 - - push: document --lockref
170 - - t5533: test "push --lockref"
171 - - push --lockref: implement logic to populate old_sha1_expect[]
172 - - remote.c: add command line option parser for --lockref
173 - - push: beginning of compare-and-swap "force/delete safety"
174 - - builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
175 - - cache.h: move remote/connect API out of it
169 +* jk/gcc-function-attributes-more (2013-07-09) 2 commits
170 + . (squash???) workaround empty format string warning which we agreed is silly
171 + . wt-status: use "format" function attribute for status_printf
172 + (this branch uses jk/gcc-function-attributes.)
173
177 - Allow a safer "rewind of the remote tip" push than blind "--force",
178 - by requiring that the overwritten remote ref to be unchanged since
179 - the new history to replace it was prepared.
174 + The continuation of jk/gcc-function-attributes, but the code
175 + involved uses an equivalent of printf(""), which triggers an
176 + warning.
177
181 - The machinery is more or less ready, but the interface to override
182 - the safety may need further discussion.
178 + I am inclined to remove the "fixup" workaround at the tip that
179 + turns them into a silly equivalent of printf("%s", "") and tell
180 + users who use -Werror to also use -Wno-format-zero-length.
181
182
185 -* jc/remote-http-argv-array (2013-07-09) 1 commit
186 - - remote-http: use argv-array
187 -
188 - Will merge to 'next'.
183 +* km/http-curl-config-per-url (2013-07-11) 1 commit
184 + - config: add support for http.<url>.* settings
185
186 + Allows custom curl configuration per URL when talking over http.
187
191 -* jk/argv-pushf-sentinel (2013-07-09) 1 commit
192 - - argv-array: add sentinel attribute to argv_array_pushl
188 + Partial matching code was hard to grok, and requested for
189 + code clarification.
190
194 - Will merge to 'next'.
191 +--------------------------------------------------
192 +[Stalled]
193
194 +* rr/send-email-ssl-verify (2013-07-06) 6 commits
195 + - SQUASH??? update to support SSL_ca_file as well as SSL_ca_path
196 + - SQUASH??? send-email: cover both smtps and starttls cases
197 + - fixup! send-email: squelch warning from Net::SMTP::SSL
198 + - SQUASH??? send-email giving default value to ssl-cert-path with ||= assignment
199 + - send-email: introduce sendemail.smtpsslcertpath
200 + - send-email: squelch warning from Net::SMTP::SSL
201
197 -* nd/const-struct-cache-entry (2013-07-09) 1 commit
198 - - Convert "struct cache_entry *" to "const ..." wherever possible
202 + The issue seems a lot deeper than the initial attempt and needs
203 + somebody to sit down and sort out to get the version dependencies
204 + and lazy loading right.
205
200 ---------------------------------------------------
201 -[Stalled]
206
207 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
208 - ### DONTMERGE: needs better explanation on what config they need
@@ -212,17 +216,6 @@ of the repositories listed at
216 $gmane/228294
217
218
215 -* hv/config-from-blob (2013-05-12) 5 commits
216 - - do not die when error in config parsing of buf occurs
217 - - teach config --blob option to parse config from database
218 - - config: make parsing stack struct independent from actual data source
219 - - config: drop cf validity check in get_next_char()
220 - - config: factor out config file stack management
221 -
222 - Waiting for a reroll.
223 - $gmane/223964
224 -
225 -
219 * jh/shorten-refname (2013-05-07) 4 commits
220 - t1514: refname shortening is done after dereferencing symbolic refs
221 - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
@@ -329,17 +322,171 @@ of the repositories listed at
322 --------------------------------------------------
323 [Cooking]
324
332 -* jc/t1512-fix (2013-07-01) 2 commits
333 - (merged to 'next' on 2013-07-09 at a6c62bb)
334 - + get_short_sha1(): correctly disambiguate type-limited abbreviation
335 - + t1512: correct leftover constants from earlier edition
325 +* hv/config-from-blob (2013-07-11) 5 commits
326 + - do not die when error in config parsing of buf occurs
327 + - teach config --blob option to parse config from database
328 + - config: make parsing stack struct independent from actual data source
329 + - config: drop cf validity check in get_next_char()
330 + - config: factor out config file stack management
331
337 - A test that should have failed but didn't revealed a bug that needs
338 - to be corrected.
332 + Rerolled.
333 +
334 +
335 +* bc/push-match-many-refs (2013-07-08) 1 commit
336 + (merged to 'next' on 2013-07-11 at df4d56d)
337 + + remote.c: avoid O(m*n) behavior in match_push_refs
338 +
339 + Pushing to repositories with many refs employed O(m*n) algorithm
340 + where n is the number of refs on the receiving end.
341 +
342 + Will merge to 'master'.
343 +
344 +
345 +* ft/diff-rename-default-score-is-half (2013-07-05) 1 commit
346 + (merged to 'next' on 2013-07-09 at 6a6b57e)
347 + + diff-options: document default similarity index
348 +
349 + Will merge to 'master'.
350 +
351 +
352 +* jc/name-rev-exact-ref (2013-07-09) 3 commits
353 + (merged to 'next' on 2013-07-11 at fd5b30c)
354 + + describe: use argv-array
355 + + name-rev: allow converting the exact object name at the tip of a ref
356 + + name-ref: factor out name shortening logic from name_ref()
357 +
358 + Corrects the longstanding sloppiness in the implementation of
359 + name-rev that conflated "we take commit-ish" and "differences
360 + between tags and commits do not matter".
361 +
362 + Will merge to 'master'.
363 +
364 +
365 +* jk/in-pack-size-measurement (2013-07-11) 10 commits
366 + - pack-revindex: radix-sort the revindex
367 + - pack-revindex: use unsigned to store number of objects
368 + - cat-file: split --batch input lines on whitespace
369 + - cat-file: add %(objectsize:disk) format atom
370 + - cat-file: add --batch-check=<format>
371 + - cat-file: refactor --batch option parsing
372 + - cat-file: teach --batch to stream blob objects
373 + - t1006: modernize output comparisons
374 + - teach sha1_object_info_extended a "disk_size" query
375 + - zero-initialize object_info structs
376 +
377 + Allow on-disk footprint of objects in packfiles (often they are a
378 + lot smaller than their true size, when expressed as deltas).
379 +
380 + Will merge to 'next'.
381 +
382 +
383 +* jk/maint-clone-shared-no-connectivity-validation (2013-07-08) 1 commit
384 + (merged to 'next' on 2013-07-11 at 8183412)
385 + + clone: drop connectivity check for local clones
386 + (this branch is used by jk/clone-shared-no-connectivity-validation.)
387 +
388 + "git clone -s/-l" is a filesystem level copy and does not offer any
389 + protection against source repository being corrupt. While the
390 + connectivity validation checks commits and trees being readable, it
391 + made the otherwise instantaneous local modes of clone much more
392 + expensive, without protecting blob data from bitflips.
393 +
394 + Will merge to 'master'.
395 +
396 +
397 +* jk/maint-config-multi-order (2013-07-07) 1 commit
398 + (merged to 'next' on 2013-07-09 at 0db1db9)
399 + + git-config(1): clarify precedence of multiple values
400 +
401 + Will merge to 'master'.
402 +
403 +
404 +* jk/pull-to-integrate (2013-07-08) 2 commits
405 + (merged to 'next' on 2013-07-09 at 2ecac24)
406 + + pull: change the description to "integrate" changes
407 + + push: avoid suggesting "merging" remote changes
408 +
409 + Will merge to 'master'.
410 +
411 +
412 +* km/svn-1.8-serf-only (2013-07-07) 2 commits
413 + - git-svn: allow git-svn fetching to work using serf
414 + - Git.pm: add new temp_is_locked function
415 +
416 + Subversion 1.8.0 that was recently released breaks older subversion
417 + clients coming over http/https in various ways.
418 +
419 + Will merge to 'next'.
420 +
421 +
422 +* rr/name-rev-stdin-doc (2013-07-07) 1 commit
423 + (merged to 'next' on 2013-07-09 at 7cfbff6)
424 + + name-rev doc: rewrite --stdin paragraph
425 +
426 + Will merge to 'master'.
427 +
428 +
429 +* rs/pickaxe-simplify (2013-07-07) 1 commit
430 + (merged to 'next' on 2013-07-11 at c5972f7)
431 + + diffcore-pickaxe: simplify has_changes and contains
432 +
433 + Will merge to 'master'.
434 +
435 +
436 +* tr/merge-recursive-index-only (2013-07-07) 3 commits
437 + - merge-recursive: -Xindex-only to leave worktree unchanged
438 + - merge-recursive: untangle double meaning of o->call_depth
439 + - merge-recursive: remove dead conditional in update_stages()
440 +
441 +
442 +* tr/test-lint-no-export-assignment-in-shell (2013-07-08) 2 commits
443 + (merged to 'next' on 2013-07-09 at 6f10ea2)
444 + + test-lint: detect 'export FOO=bar'
445 + + t9902: fix 'test A == B' to use = operator
446
447 Will merge to 'master'.
448
449
450 +* es/overlapping-range-set (2013-07-09) 2 commits
451 + (merged to 'next' on 2013-07-11 at 3df5a94)
452 + + range_set: fix coalescing bug when range is a subset of another
453 + + t4211: fix broken test when one -L range is subset of another
454 +
455 + Will merge to 'master'.
456 +
457 +
458 +* jc/push-cas (2013-07-11) 6 commits
459 + - t5533: test "push --lockref"
460 + - push --lockref: tie it all together
461 + - push --lockref: implement logic to populate old_sha1_expect[]
462 + - remote.c: add command line option parser for "--lockref"
463 + - builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
464 + - cache.h: move remote/connect API out of it
465 +
466 + Allow a safer "rewind of the remote tip" push than blind "--force",
467 + by requiring that the overwritten remote ref to be unchanged since
468 + the new history to replace it was prepared.
469 +
470 + The machinery is more or less ready. The "--force" option is again
471 + the big red button to override any safety, thanks to J6t's sanity
472 + (the original round allowed --lockref to defeat --force).
473 +
474 + Waiting for comments.
475 +
476 +
477 +* jc/remote-http-argv-array (2013-07-09) 1 commit
478 + (merged to 'next' on 2013-07-11 at 7fbe8bd)
479 + + remote-http: use argv-array
480 +
481 + Will merge to 'master'.
482 +
483 +
484 +* nd/const-struct-cache-entry (2013-07-09) 1 commit
485 + - Convert "struct cache_entry *" to "const ..." wherever possible
486 +
487 + Will merge to 'next'.
488 +
489 +
490 * jk/fetch-pack-many-refs (2013-07-02) 3 commits
491 (merged to 'next' on 2013-07-09 at a53b7c7)
492 + fetch-pack: avoid quadratic behavior in rev_list_push
@@ -384,13 +531,14 @@ of the repositories listed at
531
532
533 * bc/commit-invalid-utf8 (2013-07-09) 3 commits
387 - - commit: reject non-characters
388 - - commit: reject overlong UTF-8 sequences
389 - - commit: reject invalid UTF-8 codepoints
534 + (merged to 'next' on 2013-07-11 at a2ee572)
535 + + commit: reject non-characters
536 + + commit: reject overlong UTF-8 sequences
537 + + commit: reject invalid UTF-8 codepoints
538
539 Tighten up autodetection of UTF-8 encoded strings.
540
393 - Will merge to 'next'.
541 + Will merge to 'master'.
542
543
544 * bc/send-email-use-port-as-separate-param (2013-07-04) 1 commit
@@ -407,23 +555,6 @@ of the repositories listed at
555 Will merge to 'master'.
556
557
410 -* pb/stash-refuse-to-kill (2013-07-01) 2 commits
411 - (merged to 'next' on 2013-07-05 at 78ecc59)
412 - + git stash: avoid data loss when "git stash save" kills a directory
413 - + treat_directory(): do not declare submodules to be untracked
414 -
415 - "git stash save" is not just about "saving" the local changes, but
416 - also is to restore the working tree state to that of HEAD. If you
417 - changed a non-directory into a directory in the local change, you
418 - may have untracked files in that directory, which have to be killed
419 - while doing so, unless you run it with --include-untracked. Teach
420 - the command to detect and error out before spreading the damage.
421 -
422 - This needed a small fix to "ls-files --killed".
423 -
424 - Will merge to 'master'.
425 -
426 -
558 * es/contacts (2013-07-03) 3 commits
559 - contrib: contacts: interpret committish akin to format-patch
560 - contrib: contacts: add ability to parse from committish
@@ -441,14 +572,6 @@ of the repositories listed at
572 Will merge to 'next'.
573
574
444 -* jk/bash-completion (2013-06-30) 2 commits
445 - (merged to 'next' on 2013-07-01 at 6daca44)
446 - + completion: learn about --man-path
447 - + completion: handle unstuck form of base git options
448 -
449 - Will merge to 'master'.
450 -
451 -
575 * cp/submodule-custom-update (2013-07-03) 1 commit
576 (merged to 'next' on 2013-07-09 at 3d27516)
577 + submodule update: allow custom command to update submodule working tree
@@ -476,14 +599,14 @@ of the repositories listed at
599
600
601 * rr/rebase-reflog-message-reword (2013-06-23) 2 commits
479 - - rebase -i: use a better reflog message
480 - - rebase: use a better reflog message
481 - (this branch uses rr/rebase-checkout-reflog.)
602 + (merged to 'next' on 2013-07-11 at 59921e0)
603 + + rebase -i: use a better reflog message
604 + + rebase: use a better reflog message
605
606 "git rebase [-i]" used to leave just "rebase" as its reflog message
607 for some operations. This rewords them to be more informative.
608
486 - Will merge to 'next'.
609 + Will merge to 'master'.
610
611
612 * bp/mediawiki-preview (2013-07-08) 7 commits
@@ -495,7 +618,19 @@ of the repositories listed at
618 - wrap-for-bin: make bin-wrappers chainable
619 - git-remote-mediawiki: introduction of Git::Mediawiki.pm
620
498 - Looks like this is in a fairly good shape?
621 + Add a command to allow previewing the contents locally before
622 + pushing it out, when working with a MediaWiki remote.
623 +
624 + I personally do not think this belongs to Git. If you are working
625 + on a set of AsciiDoc source files, you sure do want to locally
626 + format to preview what you will be pushing out, and if you are
627 + working on a set of C or Java source files, you do want to test it
628 + before pushing it out, too. That kind of thing belongs to your
629 + build script, not to your SCM.
630 +
631 + But I'll let it pass, as this is only a contrib/ thing.
632 +
633 + Will merge to 'next'.
634
635
636 * fg/submodule-clone-depth (2013-07-03) 1 commit
@@ -542,17 +677,6 @@ of the repositories listed at
677 Will merge to 'master'.
678
679
545 -* jc/maint-diff-core-safecrlf (2013-06-25) 1 commit
546 - (merged to 'next' on 2013-07-03 at db8a2a6)
547 - + diff: demote core.safecrlf=true to core.safecrlf=warn
548 -
549 - "git diff" refused to even show difference when core.safecrlf is
550 - set to true (i.e. error out) and there are offending lines in the
551 - working tree files.
552 -
553 - Will merge to 'master'.
554 -
555 -
680 * jk/fast-import-empty-ls (2013-06-23) 4 commits
681 - fast-import: allow moving the root tree
682 - fast-import: allow ls or filecopy of the root tree
@@ -563,80 +687,19 @@ of the repositories listed at
687 $gmane/228741
688
689
566 -* af/rebase-i-merge-options (2013-07-02) 1 commit
567 - (merged to 'next' on 2013-07-08 at f411975)
568 - + Do not ignore merge options in interactive rebase
569 -
570 - "git rebase -i" now honors --strategy and -X options.
571 -
572 - Will merge to 'master'.
573 -
574 -
575 -* rj/cygwin-remove-cheating-lstat (2013-06-25) 1 commit
576 - - cygwin: Remove the Win32 l/stat() implementation
577 -
578 - Seems that this gives different performance results to different
579 - people.
690 +* rj/cygwin-clarify-use-of-cheating-lstat (2013-07-11) 1 commit
691 + - cygwin: Add fast_lstat() and fast_fstat() functions
692
581 - A replacement WIP has been posted.
582 - $gmane/229280
693 + Turns quite a many uses of lstat() into fast_lstat() to mark
694 + callsites that allow "a faster but cheating and incorrect variant".
695 + Defining fast_lstat() to be the same as lstat(), is fine from
696 + correctness point of view, but it can be replaced with an
697 + alternative implementation that more quickly grabs only the part of
698 + the stat information that matter (e.g. cygwin). The places where
699 + we _do_ require a fully correct lstat() are left as lstat().
700
584 -
585 -* jc/triangle-push-fixup (2013-06-24) 5 commits
586 - (merged to 'next' on 2013-06-26 at 73cbb69)
587 - + t/t5528-push-default: test pushdefault workflows
588 - + t/t5528-push-default: generalize test_push_*
589 - + push: change `simple` to accommodate triangular workflows
590 - + config doc: rewrite push.default section
591 - + t/t5528-push-default: remove redundant test_config lines
592 -
593 - Earlier remote.pushdefault (and per-branch branch.*.pushremote)
594 - were introduced as an additional mechanism to choose what
595 - repository to push into when "git push" did not say it from the
596 - command line, to help people who push to a repository that is
597 - different from where they fetch from. This attempts to finish that
598 - topic by teaching the default mechanism to choose branch in the
599 - remote repository to be updated by such a push.
600 -
601 - The 'current', 'matching' and 'nothing' modes (specified by the
602 - push.default configuration variable) extend to such a "triangular"
603 - workflow naturally, but 'upstream' and 'simple' have to be updated.
604 -
605 - . 'upstream' is about pushing back to update the branch in the
606 - remote repository that the current branch fetches from and
607 - integrates with, it errors out in a triangular workflow.
608 -
609 - . 'simple' is meant to help new people by avoiding mistakes, and
610 - will be the safe default in Git 2.0. In a non-triangular
611 - workflow, it will continue to act as a cross between 'upstream'
612 - and 'current' in that it pushes to the current branch's
613 - @{upstream} only when it is set to the same name as the current
614 - branch (e.g. your 'master' forks from the 'master' from the
615 - central repository). In a triangular workflow, this series
616 - tentatively defines it as the same as 'current', but we may have
617 - to tighten it to avoid surprises in some way.
618 -
619 - Will merge to 'master'.
620 -
621 -
622 -* jg/status-config (2013-06-24) 4 commits
623 - (merged to 'next' on 2013-07-03 at 6ac1ada)
624 - + status/commit: make sure --porcelain is not affected by user-facing config
625 - + commit: make it work with status.short
626 - + status: introduce status.branch to enable --branch by default
627 - + status: introduce status.short to enable --short by default
628 -
629 - "git status" learned status.branch and status.short configuration
630 - variables to use --branch and --short options by default (override
631 - with --no-branch and --no-short options from the command line).
632 -
633 - The bottom two has been graduated to 'master' but then reverted.
634 - The tip two are quick attempts to fix the fallout. The one for
635 - status.short looks correct; the other one, while it is correct,
636 - is unfortunately overly complex in order not to introduce an
637 - unnecessary regression.
638 -
639 - Will merge to 'master'.
701 + The damage this patch makes to the the core codepath on systems may
702 + be rather large from readability's point of view, though.
703
704
705 * jc/reflog-doc (2013-06-19) 1 commit
@@ -655,27 +718,6 @@ of the repositories listed at
718 negatives.
719
720
658 -* rr/rebase-checkout-reflog (2013-06-17) 5 commits
659 - (merged to 'next' on 2013-07-01 at 27cfd27)
660 - + checkout: respect GIT_REFLOG_ACTION
661 - (merged to 'next' on 2013-06-27 at 4d99efa)
662 - + status: do not depend on rebase reflog messages
663 - + t/t2021-checkout-last: "checkout -" should work after a rebase finishes
664 - + wt-status: remove unused field in grab_1st_switch_cbdata
665 - + t7512: test "detached from" as well
666 - (this branch is used by rr/rebase-reflog-message-reword.)
667 -
668 - Invocations of "git checkout" used internally by "git rebase" were
669 - counted as "checkout", and affected later "git checkout -" to the
670 - the user to an unexpected place.
671 -
672 - The "bugfix" bits of the series is here. The follow-up part to
673 - reword reflog messages for steps in "rebase" are split to another
674 - topic.
675 -
676 - Will merge to 'master'.
677 -
678 -
721 * jx/clean-interactive (2013-06-26) 16 commits
722 - test: run testcases with POSIX absolute paths on Windows
723 - test: add t7301 for git-clean--interactive
@@ -698,9 +740,9 @@ of the repositories listed at
740 Add "interactive" mode to "git clean".
741
742 The early part to refactor relative path related helper functions
701 - looked sensible. The actual "clean interactive" may want to be
702 - discussed further by interested parties before the topic is fully
703 - merged to 'next'.
743 + looked sensible.
744 +
745 + Will merge to 'next'.
746
747
748 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit