1 To: git@vger.kernel.org
3 Subject: What's cooking in git.git (Apr 2014, #08; Fri, 25)
4 X-master-at: 35936f8fc38a214cc7d2595070641d39a541dfb1
5 X-next-at: 6b2797783cb3e61a56a96669ce7848480f49f38f
7 What's cooking in git.git (Apr 2014, #08; Fri, 25)
8 --------------------------------------------------
10 Here are the topics that have been cooking. Commits prefixed with
11 '-' are only in 'pu' (proposed updates) while commits prefixed with
14 The tip of the 'master' branch is at v2.0.0-rc1. Last minute fixes
15 to newly added code keep flowing in, which is good.
17 You can find the changes described here in the integration branches
18 of the repositories listed at
20 http://git-blame.blogspot.com/p/git-public-repositories.html
22 --------------------------------------------------
23 [Graduated to "master"]
25 * db/make-with-curl (2014-04-15) 2 commits
26 (merged to 'next' on 2014-04-16 at b9c8527)
27 + Makefile: allow static linking against libcurl
28 + Makefile: use curl-config to determine curl flags
30 Ask curl-config how to link with the curl library, instead of
31 having only a limited configurability knobs in the Makefile.
34 * fc/transport-helper-sync-error-fix (2014-04-21) 6 commits
35 (merged to 'next' on 2014-04-21 at f53a08a)
36 + t5801 (remote-helpers): cleanup environment sets
37 + transport-helper: fix sync issue on crashes
38 + transport-helper: trivial cleanup
39 + transport-helper: propagate recvline() error pushing
40 + remote-helpers: make recvline return an error
41 + transport-helper: remove barely used xchgline()
43 Make sure the marks are not written out when the transport helper
44 did not finish happily, to avoid marks file that is out of sync
48 * jk/pack-bitmap (2014-04-22) 1 commit
49 (merged to 'next' on 2014-04-22 at ba58737)
50 + ewah_bitmap.c: do not assume size_t and eword_t are the same size
52 A last minute (and hopefully the last) fix to avoid coredumps due
53 to an incorrect pointer arithmetic.
55 --------------------------------------------------
58 * ep/shell-command-substitution (2014-04-23) 13 commits
59 - p5302-pack-index.sh: use the $( ... ) construct for command substitution
60 - lib-gpg.sh: use the $( ... ) construct for command substitution
61 - lib-cvs.sh: use the $( ... ) construct for command substitution
62 - lib-credential.sh: use the $( ... ) construct for command substitution
63 - git-web--browse.sh: use the $( ... ) construct for command substitution
64 - git-stash.sh: use the $( ... ) construct for command substitution
65 - git-rebase.sh: use the $( ... ) construct for command substitution
66 - git-rebase--merge.sh: use the $( ... ) construct for command substitution
67 - git-pull.sh: use the $( ... ) construct for command substitution
68 - appp.sh: use the $( ... ) construct for command substitution
69 - t7900-subtree.sh: use the $( ... ) construct for command substitution
70 - test-gitmw-lib.sh: use the $( ... ) construct for command substitution
71 - t9365-continuing-queries.sh: use the $( ... ) construct for command substitution
73 Adjust shell scripts to use $(cmd) instead of `cmd`.
75 Will merge to 'next' and keep it there for the remainder of the cycle.
78 * ib/test-selectively-run (2014-04-23) 3 commits
79 - test-lib: '--run' to run only specific tests
80 - test-lib: tests skipped by GIT_SKIP_TESTS say so
81 - test-lib: Document short options in t/README
83 Allow specifying only certain individual test pieces to be run
84 using a range notation (e.g. "t1234-test.sh --run='1-4 6 8 9-'").
87 * mm/mediawiki-encoding-fix (2014-04-23) 2 commits
88 - git-remote-mediawiki: fix encoding issue for UTF-8 media files
89 - git-remote-mediawiki: allow stop/start-ing the test server
91 Will merge to 'next' and keep it there for the remainder of the cycle.
94 * mw/symlinks (2014-04-24) 1 commit
95 (merged to 'next' on 2014-04-25 at 20b2af6)
96 + setup: fix windows path buffer over-stepping
98 A finishing touch fix to a new change already in 'master'.
100 Will merge to 'master' by -rc2.
103 * sk/tag-contains-wo-recursion (2014-04-25) 1 commit
104 (merged to 'next' on 2014-04-25 at f320750)
105 + git tag --contains: avoid stack overflow
107 Will keep in 'next' for the remainder of the cycle.
109 --------------------------------------------------
112 * rs/ref-transaction (2014-04-22) 14 commits
114 . refs.c: change update_ref to use a transaction
115 . walker.c: use ref transaction for ref updates
116 . branch.c: use ref transaction for all ref updates
117 . fast-import.c: change update_branch to use ref transactions
118 . sequencer.c: use ref transactions for all ref updates
119 . commit.c: use ref transactions for updates
120 . replace.c: use the ref transaction functions for updates
121 . tag.c: use ref transactions when doing updates
122 . refs.c: ref_transaction_delete to check for error and return status
123 . refs.c: change ref_transaction_create to do error checking and return status
124 . refs.c: change ref_transaction_update() to do error checking and return status
125 . refs.c: use a single exit path from transaction commit and handle onerr
126 . refs.c: constify the sha arguments for ref_transaction_create|delete|update
127 (this branch uses mh/ref-transaction.)
129 Updates most of the callsites to write_sha1_ref(), the low-level
130 mechanism to update a ref, to use the ref-transaction API.
132 Seems to break the dumb walker test (t5550) when merged to 'pu',
133 possibly due to misconversion of walker.c. Kept out of 'pu' as I
134 didn't want to resolve conflicts with the other topics only to get
135 a known-broken version.
138 * tr/merge-recursive-index-only (2014-02-05) 3 commits
139 - merge-recursive: -Xindex-only to leave worktree unchanged
140 - merge-recursive: internal flag to avoid touching the worktree
141 - merge-recursive: remove dead conditional in update_stages()
142 (this branch is used by tr/remerge-diff.)
147 * tr/remerge-diff (2014-02-26) 5 commits
148 . log --remerge-diff: show what the conflict resolution changed
149 . name-hash: allow dir hashing even when !ignore_case
150 . merge-recursive: allow storing conflict hunks in index
151 . revision: fold all merge diff variants into an enum merge_diff_mode
152 . combine-diff: do not pass revs->dense_combined_merges redundantly
153 (this branch uses tr/merge-recursive-index-only.)
155 "log -p" output learns a new way to let users inspect a merge
156 commit by showing the differences between the automerged result
157 with conflicts the person who recorded the merge would have seen
158 and the final conflict resolution that was recorded in the merge.
160 Needs to be rebased, now kb/fast-hashmap topic is in.
163 * bc/blame-crlf-test (2014-02-18) 1 commit
164 - blame: add a failing test for a CRLF issue.
166 I have a feeling that a fix for this should be fairly isolated and
167 trivial (it should be just the matter of paying attention to the
168 crlf settings when synthesizing the fake commit)---perhaps somebody
169 can squash in a fix to this?
172 * jk/makefile (2014-02-05) 16 commits
174 - move LESS/LV pager environment to Makefile
175 - Makefile: teach scripts to include make variables
177 - Makefile: auto-build C strings from make variables
178 - Makefile: drop *_SQ variables
180 - Makefile: add c-quote helper function
181 - Makefile: introduce sq function for shell-quoting
182 - Makefile: always create files via make-var
183 - Makefile: store GIT-* sentinel files in MAKE/
184 - Makefile: prefer printf to echo for GIT-*
185 - Makefile: use tempfile/mv strategy for GIT-*
186 - Makefile: introduce make-var helper function
187 - Makefile: fix git-instaweb dependency on gitweb
188 - Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
190 Simplify the Makefile rules and macros that exist primarily for
191 quoting purposes, and make it easier to robustly express the
197 * po/everyday-doc (2014-01-27) 1 commit
198 - Make 'git help everyday' work
200 This may make the said command to emit something, but the source is
201 not meant to be formatted into a manual pages to begin with, and
202 also its contents are a bit stale. It may be a good first step in
203 the right direction, but needs more work to at least get the
204 mark-up right before public consumption.
209 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
210 . t1507 (rev-parse-upstream): fix typo in test title
211 . implement @{publish} shorthand
212 . branch_get: provide per-branch pushremote pointers
213 . branch_get: return early on error
214 . sha1_name: refactor upstream_mark
216 Give an easier access to the tracking branches from "other" side in
217 a triangular workflow by introducing B@{publish} that works in a
218 similar way to how B@{upstream} does.
220 Meant to be used as a basis for whatever Ram wants to build on.
222 Ejected from 'pu' to make room for fc/publish-vs-upstream topic.
225 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
226 - merge: drop unused arg from abort_commit method signature
227 - merge: make prepare_to_commit responsible for write_merge_state
228 - t7505: ensure cleanup after hook blocks merge
229 - t7505: add missing &&
231 Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
232 run during "git merge". The log message stresses too much on one
233 hook, prepare-commit-msg, but it would equally apply to other hooks
234 like post-merge, I think.
236 Waiting for a reroll.
239 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
240 - Teach checkout to recursively checkout submodules
241 - submodule: teach unpack_trees() to update submodules
242 - submodule: teach unpack_trees() to repopulate submodules
243 - submodule: teach unpack_trees() to remove submodule contents
244 - submodule: prepare for recursive checkout of submodules
246 An RFCv2 exists ($gmane/241455) with sizable review comments.
250 * jc/graph-post-root-gap (2013-12-30) 3 commits
251 - WIP: document what we want at the end
252 - graph: remove unused code a bit
253 - graph: stuff the current commit into graph->columns[]
255 This was primarily a RFH ($gmane/239580).
258 * np/pack-v4 (2013-09-18) 90 commits
259 . packv4-parse.c: add tree offset caching
260 . t1050: replace one instance of show-index with verify-pack
261 . index-pack, pack-objects: allow creating .idx v2 with .pack v4
262 . unpack-objects: decode v4 trees
263 . unpack-objects: allow to save processed bytes to a buffer
266 Nico and Duy advancing the eternal vaporware pack-v4. This is here
267 primarily for wider distribution of the preview edition.
269 Needs to be rebased, now the pack-bitmap series is in.
272 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
273 - perf-lib: add test_perf_cleanup target
274 - perf-lib: split starting the test from the execution
276 Add test_perf_cleanup shell function to the perf suite, that allows
277 the script writers to define a test with a clean-up action.
282 * jc/format-patch (2013-04-22) 2 commits
283 - format-patch: --inline-single
284 - format-patch: rename "no_inline" field
286 A new option to send a single patch to the standard output to be
287 appended at the bottom of a message. I personally have no need for
288 this, but it was easy enough to cobble together. Tests, docs and
289 stripping out more MIMEy stuff are left as exercises to interested
293 * jc/show-branch (2014-03-24) 5 commits
294 - show-branch: use commit slab to represent bitflags of arbitrary width
295 - show-branch.c: remove "all_mask"
296 - show-branch.c: abstract out "flags" operation
297 - show-branch.c: lift all_mask/all_revs to a global static
298 - show-branch.c: update comment style
300 Waiting for the final step to lift the hard-limit before sending it out.
302 --------------------------------------------------
305 * fc/remote-helpers-hg-bzr-graduation (2014-04-21) 3 commits
306 (merged to 'next' on 2014-04-22 at fed170a)
307 + remote-helpers: move tests out of contrib
308 + remote-helpers: move out of contrib
309 + remote-helpers: squelch python import exceptions
311 Move remote-hg and remote-bzr out of contrib/.
313 Will keep in 'next' for the remainder of the cycle.
316 * fc/remote-helper-refmap (2014-04-21) 8 commits
317 (merged to 'next' on 2014-04-22 at fb5a4c2)
318 + transport-helper: remove unnecessary strbuf resets
319 + transport-helper: add support to delete branches
320 + fast-export: add support to delete refs
321 + fast-import: add support to delete refs
322 + transport-helper: add support to push symbolic refs
323 + transport-helper: add support for old:new refspec
324 + fast-export: add new --refspec option
325 + fast-export: improve argument parsing
327 Allow remote-helper/fast-import based transport to rename the refs
328 while transferring the history.
330 Will keep in 'next' for the remainder of the cycle.
333 * jk/external-diff-use-argv-array (2014-04-21) 6 commits
334 (merged to 'next' on 2014-04-22 at e6d92d7)
335 + run_external_diff: refactor cmdline setup logic
336 + run_external_diff: hoist common bits out of conditional
337 + run_external_diff: drop fflush(NULL)
338 + run_external_diff: clean up error handling
339 + run_external_diff: use an argv_array for the environment
340 + run_external_diff: use an argv_array for the command line
344 Will keep in 'next' for the remainder of the cycle.
347 * jx/blame-align-relative-time (2014-04-23) 2 commits
348 (merged to 'next' on 2014-04-23 at 858df39)
349 + blame: dynamic blame_date_width for different locales
350 + blame: fix broken time_buf paddings in relative timestamp
352 "git blame" miscounted number of columns needed to show localized
353 timestamps, resulting in jaggy left-side-edge of the source code
356 Will keep in 'next' for the remainder of the cycle.
359 * fc/merge-default-to-upstream (2014-04-22) 1 commit
360 (merged to 'next' on 2014-04-22 at 4f98483)
361 + merge: enable defaulttoupstream by default
363 "git merge" without argument, even when there is an upstream
364 defined for the current branch, refused to run until
365 merge.defaultToUpstream is set to true. Flip the default of that
366 configuration variable to true.
368 Will keep in 'next' for the remainder of the cycle.
371 * fc/mergetool-prompt (2014-04-24) 2 commits
372 - mergetool: document the default for --[no-]prompt
373 (merged to 'next' on 2014-04-22 at dcaec94)
374 + mergetool: run prompt only if guessed tool
376 mergetool.prompt used to default to 'true', always causing a confirmation
377 "do you really want to run the tool on this path" to be shown.
379 Among the two purposes the prompt serves, ignore the use case to
380 confirm that the user wants to view particular path with the named
381 tool, and make the prompt only to confirm the choice of the tool
382 made by autodetection and defaulting. For those who configured the
383 tool explicitly, the prompt shown for the latter purpose is simply
386 Strictly speaking, this is a backward incompatible change and the
387 users need to explicitly set the variable to 'true' if they want to
388 resurrect the now-ignored use case.
390 Will merge to 'next' and keep it there for the remainder of the cycle.
393 * fc/mergetools-vimdiff3 (2014-04-22) 1 commit
394 (merged to 'next' on 2014-04-22 at d843e75)
395 + mergetools: add vimdiff3 mode
397 Will keep in 'next' for the remainder of the cycle.
400 * km/git-svn-workaround-older-getopt-long (2014-04-23) 1 commit
401 (merged to 'next' on 2014-04-23 at 3f35586)
402 + t9117: use --prefix "" instead of --prefix=""
404 Will merge to 'master' by -rc2.
407 * lr/git-run-setup-gently (2014-04-22) 1 commit
408 (merged to 'next' on 2014-04-22 at 5c2523f)
409 + git.c: treat RUN_SETUP_GENTLY and RUN_SETUP as mutually exclusive
411 Will keep in 'next' for the remainder of the cycle.
414 * mk/doc-git-gui-display-untracked (2014-04-21) 1 commit
415 (merged to 'next' on 2014-04-22 at 385d39a)
416 + Documentation: git-gui: describe gui.displayuntracked
418 Will merge to 'master' by -rc2.
421 * rh/prompt-pcmode-avoid-eval-on-refname (2014-04-22) 1 commit
422 (merged to 'next' on 2014-04-22 at 3a1506f)
423 + git-prompt.sh: don't put unsanitized branch names in $PS1
425 Will merge to 'master' by -rc2.
428 * fc/publish-vs-upstream (2014-04-21) 8 commits
429 - sha1_name: add support for @{publish} marks
430 - sha1_name: simplify track finding
431 - sha1_name: cleanup interpret_branch_name()
432 - branch: display publish branch
433 - push: add --set-publish option
434 - branch: add --set-publish-to option
435 - Add concept of 'publish' branch
436 - t5516 (fetch-push): fix test restoration
438 Add branch@{publish}; it seems that this is somewhat different from
439 Ram and Peff started working on. There were many discussion
440 messages going back and forth but it does not appear that the
441 design issues have been worked out among participants yet.
444 * jl/git-gui-show-added-submodule-changes (2014-04-15) 1 commit
445 - git-gui: show staged submodules regardless of ignore config
447 Tentatively queued what I expect to receive via Pat Thoyts.
450 * jl/gitk-show-added-submodule-changes (2014-04-15) 3 commits
451 - gitk: show staged submodules regardless of ignore config
452 - gitk: Merge branch 'new' of https://github.com/vnwildman/gitk
453 - l10n: Init Vietnamese translation
455 Tentatively queued what I expect to receive via Paul Mackerras.
458 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
459 - git-rebase: print name of rev when using shorthand
461 Teach "git rebase -" to report the concrete name of the branch
462 (i.e. the previous one).
464 But it stops short and does not do the same for "git rebase @{-1}".
468 * ef/send-email-absolute-path-to-the-command (2014-04-23) 2 commits
469 (merged to 'next' on 2014-04-23 at a657e5e)
470 + send-email: windows drive prefix (e.g. C:) appears only at the beginning
471 (merged to 'next' on 2014-04-21 at 43bebb5)
472 + send-email: recognize absolute path on Windows
474 Will keep in 'next' for the remainder of the cycle.
477 * jh/submodule-tests (2014-04-17) 1 commit
478 - t7410: 210 tests for various 'git submodule update' scenarios
481 * rs/ref-update-check-errors-early (2014-04-17) 2 commits
482 (merged to 'next' on 2014-04-21 at acc62aa)
483 + commit.c: check for lock error and return early
484 + sequencer.c: check for lock failure and bail early in fast_forward_to
486 Will keep in 'next' for the remainder of the cycle.
489 * sk/svn-parse-datestamp (2014-04-17) 1 commit
490 (merged to 'next' on 2014-04-21 at 5ff519f)
491 + SVN.pm::parse_svn_date: allow timestamps with a single-digit hour
493 Will keep in 'next' for the remainder of the cycle.
496 * nd/index-pack-one-fd-per-thread (2014-04-16) 1 commit
497 (merged to 'next' on 2014-04-16 at b38d5a9)
498 + index-pack: work around thread-unsafe pread()
500 Enable threaded index-pack on platforms without thread-unsafe
503 Will keep in 'next' for the remainder of the cycle.
506 * ym/fix-opportunistic-index-update-race (2014-04-10) 2 commits
507 (merged to 'next' on 2014-04-16 at cb92f4f)
508 + read-cache.c: verify index file before we opportunistically update it
509 + wrapper.c: add xpread() similar to xread()
511 Read-only operations such as "git status" that internally refreshes
512 the index write out the refreshed index to the disk to optimize
513 future accesses to the working tree, but this could race with a
514 "read-write" operation that modify the index while it is running.
515 Detect such a race and avoid overwriting the index.
517 Duy raised a good point that we may need to do the same for the
518 normal writeout codepath, not just the "opportunistic" update
519 codepath. While that is true, nobody sane would be running two
520 simultaneous operations that are clearly write-oriented competing
521 with each other against the same index file. So in that sense that
522 can be done as a less urgent follow-up for this topic.
524 Will keep in 'next' for the remainder of the cycle.
527 * jl/status-added-submodule-is-never-ignored (2014-04-07) 2 commits
528 - commit -m: commit staged submodules regardless of ignore config
529 - status/commit: show staged submodules regardless of ignore config
531 There also are a few patches Ronald Weiss and Jens are working on
532 polishing around this topic, and a patch from Jens each for gitk
535 Waiting for the dust to settle until picking them up all.
538 * mh/lockfile (2014-04-15) 25 commits
539 - trim_last_path_elm(): replace last_path_elm()
540 - resolve_symlink(): take a strbuf parameter
541 - resolve_symlink(): use a strbuf for internal scratch space
542 - change lock_file::filename into a strbuf
543 - commit_lock_file(): use a strbuf to manage temporary space
544 - try_merge_strategy(): use a statically-allocated lock_file object
545 - try_merge_strategy(): remove redundant lock_file allocation
546 - struct lock_file: declare some fields volatile
547 - lockfile: avoid transitory invalid states
548 - commit_lock_file(): die() if called for unlocked lockfile object
549 - commit_lock_file(): inline temporary variable
550 - remove_lock_file(): call rollback_lock_file()
551 - lock_file(): exit early if lockfile cannot be opened
552 - write_packed_entry_fn(): convert cb_data into a (const int *)
553 - prepare_index(): declare return value to be (const char *)
554 - delete_ref_loose(): don't muck around in the lock_file's filename
555 - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
556 - lockfile.c: document the various states of lock_file objects
557 - lock_file(): always add lock_file object to lock_file_list
558 - hold_lock_file_for_append(): release lock on errors
559 - lockfile: unlock file if lockfile permissions cannot be adjusted
560 - rollback_lock_file(): set fd to -1
561 - rollback_lock_file(): do not clear filename redundantly
562 - api-lockfile: expand the documentation
563 - unable_to_lock_die(): rename function from unable_to_lock_index_die()
565 Refactor and fix corner-case bugs in the lockfile API, all looked
571 * mt/patch-id-stable (2014-03-31) 3 commits
572 (merged to 'next' on 2014-04-08 at 0188d44)
573 + patch-id-test: test --stable and --unstable flags
574 + patch-id: document new behaviour
575 + patch-id: make it stable against hunk reordering
577 Introduce a new way to compute patch-id for a patch that is not
578 affected by the order of the paths that appear in the input.
580 This changes the generated patch-id unless the users add an extra
581 option to their command lines, but I deliberately queued the series
582 to 'next' without reverting that compatibility breakage to see if
583 people complain. It could be that we do not have to worry about
584 the default flipping at all. We'll see.
586 Will keep in 'next' for the remainder of the cycle.
589 * mh/ref-transaction (2014-04-07) 27 commits
590 (merged to 'next' on 2014-04-16 at a99f84d)
591 + ref_transaction_commit(): work with transaction->updates in place
592 + struct ref_update: add a type field
593 + struct ref_update: add a lock field
594 + ref_transaction_commit(): simplify code using temporary variables
595 + struct ref_update: store refname as a FLEX_ARRAY
596 + struct ref_update: rename field "ref_name" to "refname"
597 + refs: remove API function update_refs()
598 + update-ref --stdin: reimplement using reference transactions
599 + refs: add a concept of a reference transaction
600 + update-ref --stdin: harmonize error messages
601 + update-ref --stdin: improve the error message for unexpected EOF
602 + t1400: test one mistake at a time
603 + update-ref --stdin -z: deprecate interpreting the empty string as zeros
604 + update-ref.c: extract a new function, parse_next_sha1()
605 + t1400: test that stdin -z update treats empty <newvalue> as zeros
606 + update-ref --stdin: simplify error messages for missing oldvalues
607 + update-ref --stdin: make error messages more consistent
608 + update-ref --stdin: improve error messages for invalid values
609 + update-ref.c: extract a new function, parse_refname()
610 + parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice
611 + update-ref --stdin: read the whole input at once
612 + update_refs(): fix constness
613 + refs.h: rename the action_on_err constants
614 + t1400: add some more tests involving quoted arguments
615 + parse_arg(): really test that argument is properly terminated
616 + t1400: provide more usual input to the command
617 + t1400: fix name and expected result of one test
618 (this branch is used by rs/ref-transaction.)
620 Update "update-ref --stdin [-z]" and then introduce a transactional
621 support for (multi-)reference updates.
623 Will keep in 'next' for the remainder of the cycle.
626 * jc/apply-ignore-whitespace (2014-03-26) 1 commit
627 (merged to 'next' on 2014-04-04 at 53779a7)
628 + apply --ignore-space-change: lines with and without leading whitespaces do not match
630 "--ignore-space-change" option of "git apply" ignored the
631 spaces at the beginning of line too aggressively, which is
632 inconsistent with the option of the same name "diff" and "git diff"
635 Will keep in 'next' for the remainder of the cycle.
638 * as/grep-fullname-config (2014-03-20) 1 commit
639 (merged to 'next' on 2014-03-28 at 810a076)
640 + grep: add grep.fullName config variable
642 Add a configuration variable to force --full-name to be default for
645 This may cause regressions on scripted users that do not expect
648 Will keep in 'next' for the remainder of the cycle.
651 * nd/multiple-work-trees (2014-03-25) 28 commits
652 - count-objects: report unused files in $GIT_DIR/repos/...
653 - gc: support prune --repos
654 - gc: style change -- no SP before closing bracket
655 - prune: strategies for linked checkouts
656 - checkout: detach if the branch is already checked out elsewhere
657 - checkout: clean up half-prepared directories in --to mode
658 - checkout: support checking out into a new working directory
659 - use new wrapper write_file() for simple file writing
660 - wrapper.c: wrapper to open a file, fprintf then close
661 - setup.c: support multi-checkout repo setup
662 - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
663 - setup.c: convert check_repository_format_gently to use strbuf
664 - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
665 - setup.c: convert is_git_directory() to use strbuf
666 - git-stash: avoid hardcoding $GIT_DIR/logs/....
667 - *.sh: avoid hardcoding $GIT_DIR/hooks/...
668 - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
669 - $GIT_COMMON_DIR: a new environment variable
670 - commit: use SEQ_DIR instead of hardcoding "sequencer"
671 - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
672 - reflog: avoid constructing .lock path with git_path
673 - *.sh: respect $GIT_INDEX_FILE
674 - git_path(): be aware of file relocation in $GIT_DIR
675 - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
676 - path.c: rename vsnpath() to do_git_path()
677 - git_snpath(): retire and replace with strbuf_git_path()
678 - path.c: make get_pathname() call sites return const char *
679 - path.c: make get_pathname() return strbuf instead of static buffer
681 A replacement for contrib/workdir/git-new-workdir that does not
682 rely on symbolic links and make sharing of objects and refs safer
683 by making the borrowee and borrowers aware of each other.
688 * ks/tree-diff-nway (2014-04-09) 20 commits
689 (merged to 'next' on 2014-04-09 at c17228e)
690 + mingw: activate alloca
691 (merged to 'next' on 2014-04-08 at 6b74773)
692 + combine-diff: speed it up, by using multiparent diff tree-walker directly
693 + tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
694 + Portable alloca for Git
695 (merged to 'next' on 2014-03-31 at 16a7bd4)
696 + tree-diff: reuse base str(buf) memory on sub-tree recursion
697 + tree-diff: no need to call "full" diff_tree_sha1 from show_path()
698 + tree-diff: rework diff_tree interface to be sha1 based
699 + tree-diff: diff_tree() should now be static
700 + tree-diff: remove special-case diff-emitting code for empty-tree cases
701 (merged to 'next' on 2014-03-25 at cfcbdac)
702 + tree-diff: simplify tree_entry_pathcmp
703 + tree-diff: show_path prototype is not needed anymore
704 + tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
705 + tree-diff: move all action-taking code out of compare_tree_entry()
706 + tree-diff: don't assume compare_tree_entry() returns -1,0,1
707 (merged to 'next' on 2014-03-21 at d872679)
708 + tree-diff: consolidate code for emitting diffs and recursion in one place
709 + tree-diff: show_tree() is not needed
710 + tree-diff: no need to pass match to skip_uninteresting()
711 + tree-diff: no need to manually verify that there is no mode change for a path
712 + combine-diff: move changed-paths scanning logic into its own function
713 + combine-diff: move show_log_first logic/action out of paths scanning
715 Instead of running N pair-wise diff-trees when inspecting a
716 N-parent merge, find the set of paths that were touched by walking
717 N+1 trees in parallel. These set of paths can then be turned into
718 N pair-wise diff-tree results to be processed through rename
719 detections and such. And N=2 case nicely degenerates to the usual
720 2-way diff-tree, which is very nice.
722 Will keep in 'next' for the remainder of the cycle.
725 * cc/interpret-trailers (2014-04-07) 12 commits
726 - trailer: add blank line before the trailers if needed
727 - Documentation: add documentation for 'git interpret-trailers'
728 - trailer: add tests for commands in config file
729 - trailer: execute command from 'trailer.<name>.command'
730 - trailer: add tests for "git interpret-trailers"
731 - trailer: add interpret-trailers command
732 - trailer: put all the processing together and print
733 - trailer: parse trailers from stdin
734 - trailer: process command line trailer arguments
735 - trailer: read and process config information
736 - trailer: process trailers from stdin and arguments
737 - trailer: add data structures and basic functions
739 A new filter to programatically edit the tail end of the commit log
742 I was planning to merge it to 'next' and keep it there for the
743 remainder of the cycle, but it appears that there still will be
744 another round of reroll, at least for the documentation?