What's cooking (2015/02 #03)

Junio C Hamano committed Feb 11, 2015 at 15:26 UTC 1c97d7a9c8f3b462fcbe4a35cbd6ec39efbd8c71
1 file changed +284 -255
whats-cooking.txt
+284 -255
@@ -1,58 +1,293 @@
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 -Subject: What's cooking in git.git (Feb 2015, #02; Thu, 5)
4 -X-master-at: 9874fca7122563e28d699a911404fc49d2a24f1c
5 -X-next-at: 4a23b1ac164e66f150700c4fdd659c98940bd4a5
3 +Subject: What's cooking in git.git (Feb 2015, #03; Wed, 11)
4 +X-master-at: 18d0fec24027ac226dc2c4df2b955eef2a16462a
5 +X-next-at: f4dfab7ad497860623d9e20dfd5586a410cf6ec6
6
7 -What's cooking in git.git (Feb 2015, #02; Thu, 5)
7 +What's cooking in git.git (Feb 2015, #03; Wed, 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 -Git 2.3 is out. I'll wait for some time for the dust to settle and
15 -then rewind and rebuild 'next'.
14 +Git 2.3 is out, and the first batch of topics that have been cooking
15 +in the 'next' branch are now in the 'master' branch. The 'next'
16 +branch will be rewound shortly but not yet.
17
18 You can find the changes described here in the integration branches
19 of the repositories listed at
20
21 http://git-blame.blogspot.com/p/git-public-repositories.html
22
23 +--------------------------------------------------
24 +[Graduated to "master"]
25 +
26 +* ah/usage-strings (2015-01-14) 1 commit
27 + (merged to 'next' on 2015-01-22 at bfa5bab)
28 + + standardize usage info string format
29 +
30 +
31 +* ak/typofixes (2015-01-21) 2 commits
32 + (merged to 'next' on 2015-01-22 at e36f25a)
33 + + t/lib-terminal.sh: fix typo
34 + + pack-bitmap: fix typo
35 +
36 +
37 +* bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit
38 + (merged to 'next' on 2015-01-12 at 4c67038)
39 + + remote-curl: fall back to Basic auth if Negotiate fails
40 +
41 + After attempting and failing a password-less authentication
42 + (e.g. kerberos), libcURL refuses to fall back to password based
43 + Basic authentication without a bit of help/encouragement.
44 +
45 +
46 +* cj/log-invert-grep (2015-01-13) 1 commit
47 + (merged to 'next' on 2015-01-13 at c908e99)
48 + + log: teach --invert-grep option
49 +
50 +
51 +* dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits
52 + (merged to 'next' on 2015-01-12 at 6b4605b)
53 + + format-patch: ignore diff.submodule setting
54 + + t4255: test am submodule with diff.submodule
55 +
56 + Setting diff.submodule to 'log' made "git format-patch" produce
57 + broken patches.
58 +
59 +
60 +* jc/coding-guidelines (2015-01-15) 1 commit
61 + (merged to 'next' on 2015-01-22 at 3c96639)
62 + + CodingGuidelines: clarify C #include rules
63 +
64 +
65 +* jc/pretty-format-doc (2015-01-15) 1 commit
66 + (merged to 'next' on 2015-01-22 at 2a81ecc)
67 + + "log --pretty" documentation: do not forget "tformat:"
68 +
69 +
70 +* jc/push-to-checkout (2015-01-08) 2 commits
71 + (merged to 'next' on 2015-01-12 at e64df63)
72 + + receive-pack: support push-to-checkout hook
73 + + receive-pack: refactor updateInstead codepath
74 +
75 + Extending the js/push-to-deploy topic, the behaviour of "git push"
76 + when updating the working tree and the index with an update to the
77 + branch that is checked out can be tweaked by push-to-checkout hook.
78 +
79 +
80 +* jc/unused-symbols (2015-01-15) 8 commits
81 + (merged to 'next' on 2015-01-22 at 77fd5f0)
82 + + shallow.c: make check_shallow_file_for_update() static
83 + + remote.c: make clear_cas_option() static
84 + + urlmatch.c: make match_urls() static
85 + + revision.c: make save_parents() and free_saved_parents() static
86 + + line-log.c: make line_log_data_init() static
87 + + pack-bitmap.c: make pack_bitmap_filename() static
88 + + prompt.c: remove git_getpass() nobody uses
89 + + http.c: make finish_active_slot() and handle_curl_result() static
90 +
91 + Mark file-local symbols as "static", and drop functions that nobody
92 + uses.
93 +
94 +
95 +* jk/blame-commit-label (2015-01-13) 5 commits
96 + (merged to 'next' on 2015-01-15 at 1b32e21)
97 + + blame.c: fix garbled error message
98 + + use xstrdup_or_null to replace ternary conditionals
99 + + builtin/commit.c: use xstrdup_or_null instead of envdup
100 + + builtin/apply.c: use xstrdup_or_null instead of null_strdup
101 + + git-compat-util: add xstrdup_or_null helper
102 +
103 +
104 +* jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit
105 + (merged to 'next' on 2015-01-12 at 313c449)
106 + + rerere: error out on autoupdate failure
107 +
108 + "git rerere" (invoked internally from many mergy operations) did
109 + not correctly signal errors when told to update the working tree
110 + files and failed to do so for whatever reason.
111 +
112 +
113 +* km/gettext-n (2015-01-12) 1 commit
114 + (merged to 'next' on 2015-01-12 at 0cbbf4a)
115 + + gettext.h: add parentheses around N_ expansion if supported
116 +
117 +
118 +* ld/p4-exclude-in-sync (2015-01-28) 1 commit
119 + (merged to 'next' on 2015-02-05 at ab410a1)
120 + + git-p4: support excluding paths on sync
121 +
122 +
123 +* ld/p4-submit-hint (2015-01-23) 1 commit
124 + (merged to 'next' on 2015-01-23 at ed972d3)
125 + + git-p4: correct --prepare-p4-only instructions
126 +
127 +
128 +* mh/reflog-expire (2014-12-22) 24 commits
129 + (merged to 'next' on 2015-01-12 at 12a7dff)
130 + + refs.c: let fprintf handle the formatting
131 + + refs.c: don't expose the internal struct ref_lock in the header file
132 + + lock_any_ref_for_update(): inline function
133 + + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
134 + + reflog_expire(): new function in the reference API
135 + + expire_reflog(): treat the policy callback data as opaque
136 + + Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
137 + + expire_reflog(): move rewrite to flags argument
138 + + expire_reflog(): move verbose to flags argument
139 + + expire_reflog(): pass flags through to expire_reflog_ent()
140 + + struct expire_reflog_cb: a new callback data type
141 + + Rename expire_reflog_cb to expire_reflog_policy_cb
142 + + expire_reflog(): move updateref to flags argument
143 + + expire_reflog(): move dry_run to flags argument
144 + + expire_reflog(): add a "flags" argument
145 + + expire_reflog(): extract two policy-related functions
146 + + Extract function should_expire_reflog_ent()
147 + + expire_reflog(): use a lock_file for rewriting the reflog file
148 + + expire_reflog(): return early if the reference has no reflog
149 + + expire_reflog(): rename "ref" parameter to "refname"
150 + + expire_reflog(): it's not an each_ref_fn anymore
151 + + refs.c: add a function to append a reflog entry to a fd
152 + + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
153 + + refs.c: make ref_transaction_create a wrapper for ref_transaction_update
154 + (this branch is used by sb/atomic-push and sb/atomic-push-fix.)
155 +
156 + Restructure "reflog expire" to fit the reflogs better with the
157 + recently updated ref API.
158 +
159 +
160 +* sb/atomic-push (2015-01-14) 11 commits
161 + (merged to 'next' on 2015-01-14 at 12c4e28)
162 + + Document receive.advertiseatomic
163 + (merged to 'next' on 2015-01-12 at 411c6a6)
164 + + t5543-atomic-push.sh: add basic tests for atomic pushes
165 + + push.c: add an --atomic argument
166 + + send-pack.c: add --atomic command line argument
167 + + send-pack: rename ref_update_to_be_sent to check_to_send_update
168 + + receive-pack.c: negotiate atomic push support
169 + + receive-pack.c: add execute_commands_atomic function
170 + + receive-pack.c: move transaction handling in a central place
171 + + receive-pack.c: move iterating over all commands outside execute_commands
172 + + receive-pack.c: die instead of error in case of possible future bug
173 + + receive-pack.c: shorten the execute_commands loop over all commands
174 + (this branch is used by sb/atomic-push-fix; uses mh/reflog-expire.)
175 +
176 + "git push" has been taught a "--atomic" option that makes push to
177 + update more than one ref an "all-or-none" affair.
178 +
179 --------------------------------------------------
180 [New Topics]
181
25 -* jc/diff-files-ita (2015-02-04) 1 commit
26 - - run_diff_files(): clarify computation of sha1 validity
182 +* ab/merge-file-prefix (2015-02-11) 1 commit
183 + - merge-file: correctly open files when in a subdir
184 +
185 + "git merge-file" did not work correctly in a subdirectory.
186
187 Will merge to 'next'.
188
189
31 -* jk/config-no-ungetc-eof (2015-02-05) 2 commits
32 - - config_buf_ungetc: warn when pushing back a random character
33 - - config: do not ungetc EOF
190 +* es/blame-commit-info-fix (2015-02-10) 1 commit
191 + - builtin/blame: destroy initialized commit_info only
192 +
193 + "git blame" died, trying to free an uninitialized piece of memory.
194
195 Will merge to 'next'.
196
197
38 -* jk/decimal-width-for-uintmax (2015-02-05) 1 commit
39 - - decimal_width: avoid integer overflow
198 +* es/squelch-openssl-warnings-on-macosx (2015-02-09) 1 commit
199 + - git-compat-util: do not step on MAC_OS_X_VERSION_MIN_REQUIRED
200
201 Will merge to 'next'.
202
203
44 -* ss/check-builtins-on-windows (2015-02-05) 1 commit
45 - - check-builtins: strip executable suffix $X when enumerating builtins
204 +* jc/max-io-size-and-ssize-max (2015-02-11) 1 commit
205 + - xread/xwrite: clip MAX_IO_SIZE to SSIZE_MAX
206 +
207 + Will merge to 'next'.
208 +
209 +
210 +* jk/fast-import-die-nicely-fix (2015-02-10) 1 commit
211 + - fast-import: avoid running end_packfile recursively
212 +
213 + "git fast-import" used to crash when it could not close and
214 + conclude the resulting packfile cleanly.
215
216 Will merge to 'next'.
217
218 +
219 +* mh/expire-updateref-fixes (2015-02-09) 10 commits
220 + - reflog_expire(): lock symbolic refs themselves, not their referent
221 + - reflog_expire(): never update a reference to null_sha1
222 + - reflog_expire(): ignore --updateref for symbolic references
223 + - reflog: rearrange the manpage
224 + - reflog: fix documentation
225 + - lock_ref_sha1_basic(): do not set force_write for missing references
226 + - write_ref_sha1(): Move write elision test to callers
227 + - write_ref_sha1(): remove check for lock == NULL
228 + - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
229 + - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check
230 + (this branch is tangled with mh/refs-have-new.)
231 +
232 +
233 +* mh/refs-have-new (2015-02-09) 13 commits
234 + - update_ref(): improve documentation
235 + - ref_transaction_verify(): new function to check a reference's value
236 + - ref_transaction_delete(): check that old_sha1 is not null_sha1
237 + - ref_transaction_create(): check that new_sha1 is valid
238 + - commit: avoid race when creating orphan commits
239 + - commit: add tests of commit races
240 + - ref_transaction_delete(): remove "have_old" parameter
241 + - ref_transaction_update(): remove "have_old" parameter
242 + - struct ref_update: move "have_old" into "flags"
243 + - refs: remove the gap in the REF_* constant values
244 + - refs: move REF_DELETING to refs.c
245 + - Merge branch 'sb/atomic-push' into mh/ref-trans-value-check
246 + - Merge branch 'mh/reflog-expire' into mh/ref-trans-value-check
247 + (this branch is tangled with mh/expire-updateref-fixes.)
248 +
249 +
250 +* nd/slim-index-pack-memory-usage (2015-02-10) 3 commits
251 + - index-pack: kill union delta_base to save memory
252 + - FIXUP
253 + - index-pack: reduce memory footprint a bit
254 +
255 --------------------------------------------------
256 [Stalled]
257
258 +* jk/sanity (2015-01-27) 3 commits
259 + - test-lib.sh: set prerequisite SANITY by testing what we really need
260 + - tests: correct misuses of POSIXPERM
261 + - t/lib-httpd: switch SANITY check for NOT_ROOT
262 +
263 + Waiting for ack or counter-proposal from Torsten.
264 + Otherwise looking good.
265 +
266 +
267 +* tc/t9001-noxmailer (2015-01-30) 1 commit
268 + - t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
269 +
270 + Kyle's update to explicitly support --no-option with older
271 + Getopt::Long ($gmane/263203) might be a better alternative
272 + if we have to support them in the longer term.
273 +
274 +
275 +* jc/diff-b-m (2015-02-01) 1 commit
276 + - diff: do not use creation-half of -B as a rename target candidate
277 +
278 + "git diff -B -M" produced incorrect patch when the postimage of a
279 + completely rewritten file is similar to the preimage of a removed
280 + file; such a resulting file must not be expressed as a rename from
281 + other place.
282 +
283 + The fix in this patch is broken, unfortunately.
284 +
285 +
286 * jn/doc-api-errors (2014-12-04) 1 commit
287 - doc: document error handling functions and conventions
288
289 For discussion.
290 + What's the status of this one????
291
292
293 * pw/remote-set-url-fetch (2014-11-26) 1 commit
@@ -182,6 +417,31 @@ of the repositories listed at
417 --------------------------------------------------
418 [Cooking]
419
420 +* jc/diff-files-ita (2015-02-04) 1 commit
421 + - run_diff_files(): clarify computation of sha1 validity
422 +
423 + Will merge to 'next'.
424 +
425 +
426 +* jk/config-no-ungetc-eof (2015-02-05) 2 commits
427 + - config_buf_ungetc: warn when pushing back a random character
428 + - config: do not ungetc EOF
429 +
430 + Will merge to 'next'.
431 +
432 +
433 +* jk/decimal-width-for-uintmax (2015-02-05) 1 commit
434 + - decimal_width: avoid integer overflow
435 +
436 + Will merge to 'next'.
437 +
438 +
439 +* ss/check-builtins-on-windows (2015-02-05) 1 commit
440 + - check-builtins: strip executable suffix $X when enumerating builtins
441 +
442 + Will merge to 'next'.
443 +
444 +
445 * jc/diff-format-doc (2015-01-28) 1 commit
446 - diff-format doc: a score can follow M for rewrite
447
@@ -217,7 +477,7 @@ of the repositories listed at
477 Will merge to 'next'.
478
479
220 -* jc/apply-beyond-symlink (2015-02-03) 4 commits
480 +* jc/apply-beyond-symlink (2015-02-10) 4 commits
481 - apply: do not touch a file beyond a symbolic link
482 - apply: do not read from beyond a symbolic link
483 - apply: do not read from the filesystem under --index
@@ -228,18 +488,7 @@ of the repositories listed at
488 --index/--cached) or the current directory (when used as a
489 replacement for GNU patch).
490
231 - May need to re-review the tests.
232 -
233 -
234 -* jc/diff-b-m (2015-02-01) 1 commit
235 - - diff: do not use creation-half of -B as a rename target candidate
236 -
237 - "git diff -B -M" produced incorrect patch when the postimage of a
238 - completely rewritten file is similar to the preimage of a removed
239 - file; such a resulting file must not be expressed as a rename from
240 - other place.
241 -
242 - The fix in this patch is broken, unfortunately.
491 + Will merge to 'next'.
492
493
494 * jc/remote-set-url-doc (2015-01-29) 1 commit
@@ -264,8 +513,9 @@ of the repositories listed at
513 Will merge to 'next'.
514
515
267 -* jk/prune-mtime (2015-02-02) 1 commit
516 +* jk/prune-mtime (2015-02-09) 2 commits
517 - sha1_file: fix iterating loose alternate objects
518 + - for_each_loose_file_in_objdir: take an optional strbuf path
519
520 In v2.2.0, we broke "git prune" that runs in a repository that
521 borrows from an alternate object store.
@@ -294,14 +544,6 @@ of the repositories listed at
544 Will merge to 'next'.
545
546
297 -* tc/t9001-noxmailer (2015-01-30) 1 commit
298 - - t9001: use older Getopt::Long boolean prefix '--no' rather than '--no-'
299 -
300 - Kyle's update to explicitly support --no-option with older
301 - Getopt::Long ($gmane/263203) might be a better alternative
302 - if we have to support them in the longer term.
303 -
304 -
547 * jc/apply-ws-fix-expands-report (2015-01-22) 1 commit
548 - apply: detect and mark whitespace errors in context lines when fixing
549 (this branch uses jc/apply-ws-fix-expands.)
@@ -352,6 +594,8 @@ of the repositories listed at
594 - config.txt: mark deprecated variables more prominently
595 - config.txt: clarify that add.ignore-errors is deprecated
596
597 + Will merge to 'next'.
598 +
599
600 * jc/doc-log-rev-list-options (2015-01-23) 1 commit
601 - Documentation: what does "git log --indexed-objects" even mean?
@@ -365,13 +609,6 @@ of the repositories listed at
609 Will merge to 'next'.
610
611
368 -* ld/p4-submit-hint (2015-01-23) 1 commit
369 - (merged to 'next' on 2015-01-23 at ed972d3)
370 - + git-p4: correct --prepare-p4-only instructions
371 -
372 - Will merge to 'master'.
373 -
374 -
612 * mg/commit-author-no-match-malformed-message (2015-01-26) 1 commit
613 - commit: reword --author error message
614
@@ -393,14 +630,6 @@ of the repositories listed at
630 Will merge to 'next'.
631
632
396 -* ak/typofixes (2015-01-21) 2 commits
397 - (merged to 'next' on 2015-01-22 at e36f25a)
398 - + t/lib-terminal.sh: fix typo
399 - + pack-bitmap: fix typo
400 -
401 - Will merge to 'master'.
402 -
403 -
633 * jc/apply-ws-fix-expands (2015-01-22) 3 commits
634 - apply: count the size of postimage correctly
635 - apply: make update_pre_post_images() sanity check the given postlen
@@ -413,46 +642,6 @@ of the repositories listed at
642 Will merge to 'next'.
643
644
416 -* jc/coding-guidelines (2015-01-15) 1 commit
417 - (merged to 'next' on 2015-01-22 at 3c96639)
418 - + CodingGuidelines: clarify C #include rules
419 -
420 - Will merge to 'master'.
421 -
422 -
423 -* jc/pretty-format-doc (2015-01-15) 1 commit
424 - (merged to 'next' on 2015-01-22 at 2a81ecc)
425 - + "log --pretty" documentation: do not forget "tformat:"
426 -
427 - Will cook in 'next'.
428 -
429 -
430 -* jc/unused-symbols (2015-01-15) 8 commits
431 - (merged to 'next' on 2015-01-22 at 77fd5f0)
432 - + shallow.c: make check_shallow_file_for_update() static
433 - + remote.c: make clear_cas_option() static
434 - + urlmatch.c: make match_urls() static
435 - + revision.c: make save_parents() and free_saved_parents() static
436 - + line-log.c: make line_log_data_init() static
437 - + pack-bitmap.c: make pack_bitmap_filename() static
438 - + prompt.c: remove git_getpass() nobody uses
439 - + http.c: make finish_active_slot() and handle_curl_result() static
440 -
441 - Mark file-local symbols as "static", and drop functions that nobody
442 - uses.
443 -
444 - Will cook in 'next'.
445 -
446 -
447 -* jk/sanity (2015-01-27) 3 commits
448 - - test-lib.sh: set prerequisite SANITY by testing what we really need
449 - - tests: correct misuses of POSIXPERM
450 - - t/lib-httpd: switch SANITY check for NOT_ROOT
451 -
452 - Waiting for ack or counter-proposal from Torsten.
453 - Otherwise looking good.
454 -
455 -
645 * js/fsck-opt (2015-01-21) 19 commits
646 - fsck: support ignoring objects in `git fsck` via fsck.skiplist
647 - fsck: git receive-pack: support excluding objects from fsck'ing
@@ -477,15 +666,6 @@ of the repositories listed at
666 Need extra set of eyes to review this.
667
668
480 -* ld/p4-exclude-in-sync (2015-01-28) 2 commits
481 - (merged to 'next' on 2015-02-05 at ab410a1)
482 - + git-p4: correct "exclude" change
483 - (merged to 'next' on 2015-01-22 at f6f1fc7)
484 - + git-p4: support excluding paths on sync
485 -
486 - Will squash them into one and then merge to 'master'.
487 -
488 -
669 * tb/connect-ipv6-parse-fix (2015-01-22) 3 commits
670 - t5500: show user name and host in diag-url
671 - t5601: add more test cases for IPV6
@@ -494,20 +674,6 @@ of the repositories listed at
674 Need extra set of eyes to review this.
675
676
497 -* sb/atomic-push-fix (2015-01-23) 6 commits
498 - - refs.c: enable large transactions
499 - - refs.c: remove unlock_ref and commit_ref from write_ref_sha1
500 - - refs.c: move static functions to close and commit refs
501 - - refs.c: remove lock_fd from struct ref_lock
502 - - t7004: rename ULIMIT test prerequisite to ULIMIT_STACK_SIZE
503 - - update-ref: test handling large transactions properly
504 - (this branch uses mh/reflog-expire and sb/atomic-push.)
505 -
506 - I had to wiggle this in and am not confident I did it correctly.
507 -
508 - Need extra set of eyes to review this.
509 -
510 -
677 * jk/strbuf-doc-to-header (2015-01-16) 7 commits
678 - strbuf.h: group documentation for trim functions
679 - strbuf.h: drop boilerplate descriptions of strbuf_split_*
@@ -519,12 +685,7 @@ of the repositories listed at
685
686 Resolve the "doc vs header" to favor the latter.
687
522 -
523 -* ah/usage-strings (2015-01-14) 1 commit
524 - (merged to 'next' on 2015-01-22 at bfa5bab)
525 - + standardize usage info string format
526 -
527 - Will cook in 'next'.
688 + Will merge to 'next'.
689
690
691 * ak/stash-store-create-help (2015-01-13) 1 commit
@@ -533,152 +694,22 @@ of the repositories listed at
694 Undecided.
695
696
536 -* jk/blame-commit-label (2015-01-13) 5 commits
537 - (merged to 'next' on 2015-01-15 at 1b32e21)
538 - + blame.c: fix garbled error message
539 - + use xstrdup_or_null to replace ternary conditionals
540 - + builtin/commit.c: use xstrdup_or_null instead of envdup
541 - + builtin/apply.c: use xstrdup_or_null instead of null_strdup
542 - + git-compat-util: add xstrdup_or_null helper
543 -
544 - Will cook in 'next'.
545 -
546 -
547 -* bc/http-fallback-to-password-after-krb-fails (2015-01-07) 1 commit
548 - (merged to 'next' on 2015-01-12 at 4c67038)
549 - + remote-curl: fall back to Basic auth if Negotiate fails
550 -
551 - After attempting and failing a password-less authentication
552 - (e.g. kerberos), libcURL refuses to fall back to password based
553 - Basic authentication without a bit of help/encouragement.
554 -
555 - Will cook in 'next'.
556 -
557 -
697 * bp/diff-relative-config (2015-01-07) 2 commits
698 - diff: teach diff.relative to give default to --relative=<value>
699 - diff: teach --no-relative to override earlier --relative
700
701
563 -* dk/format-patch-ignore-diff-submodule (2015-01-07) 2 commits
564 - (merged to 'next' on 2015-01-12 at 6b4605b)
565 - + format-patch: ignore diff.submodule setting
566 - + t4255: test am submodule with diff.submodule
567 -
568 - Setting diff.submodule to 'log' made "git format-patch" produce
569 - broken patches.
570 -
571 - Will cook in 'next'.
572 -
573 -
702 * nd/attr-optim (2014-12-29) 3 commits
703 - attr: avoid heavy work when we know the specified attr is not defined
704 - attr: do not attempt to expand when we know it's not a macro
705 - attr.c: rename arg name attr_nr to avoid shadowing the global one
706
707
580 -* cj/log-invert-grep (2015-01-13) 1 commit
581 - (merged to 'next' on 2015-01-13 at c908e99)
582 - + log: teach --invert-grep option
583 -
584 - Will cook in 'next'.
585 -
586 -
587 -* km/gettext-n (2015-01-12) 1 commit
588 - (merged to 'next' on 2015-01-12 at 0cbbf4a)
589 - + gettext.h: add parentheses around N_ expansion if supported
590 -
591 - Will cook in 'next'.
592 -
593 -
594 -* jn/rerere-fail-on-auto-update-failure (2015-01-08) 1 commit
595 - (merged to 'next' on 2015-01-12 at 313c449)
596 - + rerere: error out on autoupdate failure
597 -
598 - "git rerere" (invoked internally from many mergy operations) did
599 - not correctly signal errors when told to update the working tree
600 - files and failed to do so for whatever reason.
601 -
602 - Will cook in 'next'.
603 -
604 -
605 -* sb/atomic-push (2015-01-14) 11 commits
606 - (merged to 'next' on 2015-01-14 at 12c4e28)
607 - + Document receive.advertiseatomic
608 - (merged to 'next' on 2015-01-12 at 411c6a6)
609 - + t5543-atomic-push.sh: add basic tests for atomic pushes
610 - + push.c: add an --atomic argument
611 - + send-pack.c: add --atomic command line argument
612 - + send-pack: rename ref_update_to_be_sent to check_to_send_update
613 - + receive-pack.c: negotiate atomic push support
614 - + receive-pack.c: add execute_commands_atomic function
615 - + receive-pack.c: move transaction handling in a central place
616 - + receive-pack.c: move iterating over all commands outside execute_commands
617 - + receive-pack.c: die instead of error in case of possible future bug
618 - + receive-pack.c: shorten the execute_commands loop over all commands
619 - (this branch is used by sb/atomic-push-fix; uses mh/reflog-expire.)
620 -
621 - "git push" has been taught a "--atomic" option that makes push to
622 - update more than one ref an "all-or-none" affair.
623 -
624 - Will cook in 'next'.
625 -
626 -
627 -* mh/reflog-expire (2014-12-22) 24 commits
628 - (merged to 'next' on 2015-01-12 at 12a7dff)
629 - + refs.c: let fprintf handle the formatting
630 - + refs.c: don't expose the internal struct ref_lock in the header file
631 - + lock_any_ref_for_update(): inline function
632 - + refs.c: remove unlock_ref/close_ref/commit_ref from the refs api
633 - + reflog_expire(): new function in the reference API
634 - + expire_reflog(): treat the policy callback data as opaque
635 - + Move newlog and last_kept_sha1 to "struct expire_reflog_cb"
636 - + expire_reflog(): move rewrite to flags argument
637 - + expire_reflog(): move verbose to flags argument
638 - + expire_reflog(): pass flags through to expire_reflog_ent()
639 - + struct expire_reflog_cb: a new callback data type
640 - + Rename expire_reflog_cb to expire_reflog_policy_cb
641 - + expire_reflog(): move updateref to flags argument
642 - + expire_reflog(): move dry_run to flags argument
643 - + expire_reflog(): add a "flags" argument
644 - + expire_reflog(): extract two policy-related functions
645 - + Extract function should_expire_reflog_ent()
646 - + expire_reflog(): use a lock_file for rewriting the reflog file
647 - + expire_reflog(): return early if the reference has no reflog
648 - + expire_reflog(): rename "ref" parameter to "refname"
649 - + expire_reflog(): it's not an each_ref_fn anymore
650 - + refs.c: add a function to append a reflog entry to a fd
651 - + refs.c: make ref_transaction_delete a wrapper for ref_transaction_update
652 - + refs.c: make ref_transaction_create a wrapper for ref_transaction_update
653 - (this branch is used by sb/atomic-push and sb/atomic-push-fix.)
654 -
655 - Restructure "reflog expire" to fit the reflogs better with the
656 - recently updated ref API.
657 -
658 - Looked reasonable (except that some shortlog entries stood out like
659 - a sore thumb).
660 -
661 - Will cook in 'next'.
662 -
663 -
664 -* jc/push-to-checkout (2015-01-08) 2 commits
665 - (merged to 'next' on 2015-01-12 at e64df63)
666 - + receive-pack: support push-to-checkout hook
667 - + receive-pack: refactor updateInstead codepath
668 -
669 - Extending the js/push-to-deploy topic, the behaviour of "git push"
670 - when updating the working tree and the index with an update to the
671 - branch that is checked out can be tweaked by push-to-checkout hook.
672 -
673 - Will cook in 'next'.
674 -
675 -
676 -* nd/list-files (2015-01-27) 22 commits
708 +* nd/list-files (2015-02-09) 21 commits
709 . t3080: tests for git-list-files
710 . list-files: -M aka diff-cached
711 . list-files -F: show submodules with the new indicator '&'
712 . list-files: add -F/--classify
681 - . SQUASH???
713 . list-files: show directories as well as files
714 . list-files: do not show duplicate cached entries
715 . list-files: sort output and remove duplicates
@@ -700,8 +731,6 @@ of the repositories listed at
731 A new "git list-files" Porcelain command, "ls-files" with bells and
732 whistles.
733
703 - Seems unable to pass its self test (yet).
704 -
734
735 * nd/multiple-work-trees (2015-01-27) 38 commits
736 - t2026 needs procondition SANITY
@@ -748,7 +777,7 @@ of the repositories listed at
777 by making the borrowee and borrowers aware of each other.
778
779
751 -* nd/untracked-cache (2015-01-21) 24 commits
780 +* nd/untracked-cache (2015-02-09) 24 commits
781 - git-status.txt: advertisement for untracked cache
782 - untracked cache: guard and disable on system changes
783 - mingw32: add uname()