What's cooking (2014/06 #01)
[git.git] / whats-cooking.txt
blobab516f790a4567e76475478a017bedbef7219392
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jun 2014, #01; Tue, 3)
4 X-master-at: 79dcccc503ac228630ecf15dcf8e1d9455daef2d
5 X-next-at: cc83a7f2654514ddbeb91a63300d3b726f6df536
7 What's cooking in git.git (Jun 2014, #01; Tue, 3)
8 --------------------------------------------------
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'.
14 The first batch of topics, all of which have been cooking for quite
15 a while on the 'next' branch, have been merged to 'master'.  I'll
17  - merge another batch to 'master', then
18  - rewind the tip of 'next' in preparation to start accepting new topics
20 sometime mid-next week.  I'll also update tinyurl.com/gitCal for this
21 cycle soonish.
23 You can find the changes described here in the integration branches
24 of the repositories listed at
26     http://git-blame.blogspot.com/p/git-public-repositories.html
28 --------------------------------------------------
29 [Graduated to "master"]
31 * as/grep-fullname-config (2014-03-20) 1 commit
32   (merged to 'next' on 2014-03-28 at 810a076)
33  + grep: add grep.fullName config variable
35  Add a configuration variable to force --full-name to be default for
36  "git grep".
38  This may cause regressions on scripted users that do not expect
39  this new behaviour.
42 * bg/strbuf-trim (2014-05-06) 2 commits
43   (merged to 'next' on 2014-05-07 at 978f378)
44  + api-strbuf.txt: add docs for _trim and _ltrim
45  + strbuf: use _rtrim and _ltrim in strbuf_trim
48 * dt/api-doc-setup-gently (2014-04-30) 1 commit
49   (merged to 'next' on 2014-05-07 at 6054b08)
50  + docs: document RUN_SETUP_GENTLY and clarify RUN_SETUP
53 * ef/send-email-absolute-path-to-the-command (2014-04-23) 2 commits
54   (merged to 'next' on 2014-04-23 at a657e5e)
55  + send-email: windows drive prefix (e.g. C:) appears only at the beginning
56   (merged to 'next' on 2014-04-21 at 43bebb5)
57  + send-email: recognize absolute path on Windows
60 * ep/shell-command-substitution (2014-04-30) 41 commits
61   (merged to 'next' on 2014-05-07 at e9952c7)
62  + t5000-tar-tree.sh: use the $( ... ) construct for command substitution
63  + t4204-patch-id.sh: use the $( ... ) construct for command substitution
64  + t4119-apply-config.sh: use the $( ... ) construct for command substitution
65  + t4116-apply-reverse.sh: use the $( ... ) construct for command substitution
66  + t4057-diff-combined-paths.sh: use the $( ... ) construct for command substitution
67  + t4038-diff-combined.sh: use the $( ... ) construct for command substitution
68  + t4036-format-patch-signer-mime.sh: use the $( ... ) construct for command substitution
69  + t4014-format-patch.sh: use the $( ... ) construct for command substitution
70  + t4013-diff-various.sh: use the $( ... ) construct for command substitution
71  + t4012-diff-binary.sh: use the $( ... ) construct for command substitution
72  + t4010-diff-pathspec.sh: use the $( ... ) construct for command substitution
73  + t4006-diff-mode.sh: use the $( ... ) construct for command substitution
74  + t3910-mac-os-precompose.sh: use the $( ... ) construct for command substitution
75  + t3905-stash-include-untracked.sh: use the $( ... ) construct for command substitution
76  + t1050-large.sh: use the $( ... ) construct for command substitution
77  + t1020-subdirectory.sh: use the $( ... ) construct for command substitution
78  + t1004-read-tree-m-u-wf.sh: use the $( ... ) construct for command substitution
79  + t1003-read-tree-prefix.sh: use the $( ... ) construct for command substitution
80  + t1002-read-tree-m-u-2way.sh: use the $( ... ) construct for command substitution
81  + t1001-read-tree-m-2way.sh: use the $( ... ) construct for command substitution
82  + t1000-read-tree-m-3way.sh: use the $( ... ) construct for command substitution
83  + t0300-credentials.sh: use the $( ... ) construct for command substitution
84  + t0030-stripspace.sh: use the $( ... ) construct for command substitution
85  + t0026-eol-config.sh: use the $( ... ) construct for command substitution
86  + t0025-crlf-auto.sh: use the $( ... ) construct for command substitution
87  + t0020-crlf.sh: use the $( ... ) construct for command substitution
88  + t0010-racy-git.sh: use the $( ... ) construct for command substitution
89  + t0001-init.sh: use the $( ... ) construct for command substitution
90  + p5302-pack-index.sh: use the $( ... ) construct for command substitution
91  + lib-gpg.sh: use the $( ... ) construct for command substitution
92  + lib-cvs.sh: use the $( ... ) construct for command substitution
93  + lib-credential.sh: use the $( ... ) construct for command substitution
94  + git-web--browse.sh: use the $( ... ) construct for command substitution
95  + git-stash.sh: use the $( ... ) construct for command substitution
96  + git-rebase.sh: use the $( ... ) construct for command substitution
97  + git-rebase--merge.sh: use the $( ... ) construct for command substitution
98  + git-pull.sh: use the $( ... ) construct for command substitution
99  + appp.sh: use the $( ... ) construct for command substitution
100  + t7900-subtree.sh: use the $( ... ) construct for command substitution
101  + test-gitmw-lib.sh: use the $( ... ) construct for command substitution
102  + t9365-continuing-queries.sh: use the $( ... ) construct for command substitution
104  Adjust shell scripts to use $(cmd) instead of `cmd`.
107 * ew/config-protect-mode (2014-05-06) 1 commit
108   (merged to 'next' on 2014-05-07 at 8443093)
109  + config: preserve config file permissions on edits
112 * fc/merge-default-to-upstream (2014-04-22) 1 commit
113   (merged to 'next' on 2014-04-22 at 4f98483)
114  + merge: enable defaulttoupstream by default
116  "git merge" without argument, even when there is an upstream
117  defined for the current branch, refused to run until
118  merge.defaultToUpstream is set to true. Flip the default of that
119  configuration variable to true.
122 * fc/mergetool-prompt (2014-04-24) 2 commits
123   (merged to 'next' on 2014-05-02 at a554691)
124  + mergetool: document the default for --[no-]prompt
125   (merged to 'next' on 2014-04-22 at dcaec94)
126  + mergetool: run prompt only if guessed tool
128  mergetool.prompt used to default to 'true', always causing a confirmation
129  "do you really want to run the tool on this path" to be shown.
131  Among the two purposes the prompt serves, ignore the use case to
132  confirm that the user wants to view particular path with the named
133  tool, and make the prompt only to confirm the choice of the tool
134  made by autodetection and defaulting.  For those who configured the
135  tool explicitly, the prompt shown for the latter purpose is simply
136  annoying.
138  Strictly speaking, this is a backward incompatible change and the
139  users need to explicitly set the variable to 'true' if they want to
140  resurrect the now-ignored use case.
143 * fc/mergetools-vimdiff3 (2014-04-22) 1 commit
144   (merged to 'next' on 2014-04-22 at d843e75)
145  + mergetools: add vimdiff3 mode
148 * fc/rerere-conflict-style (2014-04-30) 1 commit
149   (merged to 'next' on 2014-05-07 at bde7fd0)
150  + rerere: fix for merge.conflictstyle
152  "git rerere forget" did not work well when merge.conflictstyle
153  was set to a non-default value.
156 * jc/apply-ignore-whitespace (2014-03-26) 1 commit
157   (merged to 'next' on 2014-04-04 at 53779a7)
158  + apply --ignore-space-change: lines with and without leading whitespaces do not match
160  "--ignore-space-change" option of "git apply" ignored the
161  spaces at the beginning of line too aggressively, which is
162  inconsistent with the option of the same name "diff" and "git diff"
163  have.
166 * jk/commit-date-approxidate (2014-05-02) 4 commits
167   (merged to 'next' on 2014-05-07 at 7ec8f7d)
168  + commit: accept more date formats for "--date"
169  + commit: print "Date" line when the user has set date
170  + pretty: make show_ident_date public
171  + commit: use split_ident_line to compare author/committer
173  "git commit --date=<date>" option learned to read from more
174  timestamp formats, including "--date=now".
177 * jk/external-diff-use-argv-array (2014-04-21) 5 commits
178   (merged to 'next' on 2014-04-22 at e6d92d7)
179  + run_external_diff: refactor cmdline setup logic
180  + run_external_diff: hoist common bits out of conditional
181  + run_external_diff: drop fflush(NULL)
182  + run_external_diff: clean up error handling
183  + run_external_diff: use an argv_array for the environment
185  Code clean-up (and a bugfix which has been merged for 2.0).
188 * jx/blame-align-relative-time (2014-04-23) 2 commits
189   (merged to 'next' on 2014-04-23 at 858df39)
190  + blame: dynamic blame_date_width for different locales
191  + blame: fix broken time_buf paddings in relative timestamp
193  "git blame" miscounted number of columns needed to show localized
194  timestamps, resulting in jaggy left-side-edge of the source code
195  lines in its output.
198 * ks/tree-diff-nway (2014-04-09) 20 commits
199   (merged to 'next' on 2014-04-09 at c17228e)
200  + mingw: activate alloca
201   (merged to 'next' on 2014-04-08 at 6b74773)
202  + combine-diff: speed it up, by using multiparent diff tree-walker directly
203  + tree-diff: rework diff_tree() to generate diffs for multiparent cases as well
204  + Portable alloca for Git
205   (merged to 'next' on 2014-03-31 at 16a7bd4)
206  + tree-diff: reuse base str(buf) memory on sub-tree recursion
207  + tree-diff: no need to call "full" diff_tree_sha1 from show_path()
208  + tree-diff: rework diff_tree interface to be sha1 based
209  + tree-diff: diff_tree() should now be static
210  + tree-diff: remove special-case diff-emitting code for empty-tree cases
211   (merged to 'next' on 2014-03-25 at cfcbdac)
212  + tree-diff: simplify tree_entry_pathcmp
213  + tree-diff: show_path prototype is not needed anymore
214  + tree-diff: rename compare_tree_entry -> tree_entry_pathcmp
215  + tree-diff: move all action-taking code out of compare_tree_entry()
216  + tree-diff: don't assume compare_tree_entry() returns -1,0,1
217   (merged to 'next' on 2014-03-21 at d872679)
218  + tree-diff: consolidate code for emitting diffs and recursion in one place
219  + tree-diff: show_tree() is not needed
220  + tree-diff: no need to pass match to skip_uninteresting()
221  + tree-diff: no need to manually verify that there is no mode change for a path
222  + combine-diff: move changed-paths scanning logic into its own function
223  + combine-diff: move show_log_first logic/action out of paths scanning
225  Instead of running N pair-wise diff-trees when inspecting a
226  N-parent merge, find the set of paths that were touched by walking
227  N+1 trees in parallel.  These set of paths can then be turned into
228  N pair-wise diff-tree results to be processed through rename
229  detections and such.  And N=2 case nicely degenerates to the usual
230  2-way diff-tree, which is very nice.
233 * lr/git-run-setup-gently (2014-04-22) 1 commit
234   (merged to 'next' on 2014-04-22 at 5c2523f)
235  + git.c: treat RUN_SETUP_GENTLY and RUN_SETUP as mutually exclusive
238 * mh/ref-transaction (2014-04-07) 27 commits
239   (merged to 'next' on 2014-04-16 at a99f84d)
240  + ref_transaction_commit(): work with transaction->updates in place
241  + struct ref_update: add a type field
242  + struct ref_update: add a lock field
243  + ref_transaction_commit(): simplify code using temporary variables
244  + struct ref_update: store refname as a FLEX_ARRAY
245  + struct ref_update: rename field "ref_name" to "refname"
246  + refs: remove API function update_refs()
247  + update-ref --stdin: reimplement using reference transactions
248  + refs: add a concept of a reference transaction
249  + update-ref --stdin: harmonize error messages
250  + update-ref --stdin: improve the error message for unexpected EOF
251  + t1400: test one mistake at a time
252  + update-ref --stdin -z: deprecate interpreting the empty string as zeros
253  + update-ref.c: extract a new function, parse_next_sha1()
254  + t1400: test that stdin -z update treats empty <newvalue> as zeros
255  + update-ref --stdin: simplify error messages for missing oldvalues
256  + update-ref --stdin: make error messages more consistent
257  + update-ref --stdin: improve error messages for invalid values
258  + update-ref.c: extract a new function, parse_refname()
259  + parse_cmd_verify(): copy old_sha1 instead of evaluating <oldvalue> twice
260  + update-ref --stdin: read the whole input at once
261  + update_refs(): fix constness
262  + refs.h: rename the action_on_err constants
263  + t1400: add some more tests involving quoted arguments
264  + parse_arg(): really test that argument is properly terminated
265  + t1400: provide more usual input to the command
266  + t1400: fix name and expected result of one test
268  Update "update-ref --stdin [-z]" and then introduce a transactional
269  support for (multi-)reference updates.
272 * mm/mediawiki-encoding-fix (2014-04-23) 2 commits
273   (merged to 'next' on 2014-05-02 at 7744361)
274  + git-remote-mediawiki: fix encoding issue for UTF-8 media files
275  + git-remote-mediawiki: allow stop/start-ing the test server
278 * nd/index-pack-one-fd-per-thread (2014-04-16) 1 commit
279   (merged to 'next' on 2014-04-16 at b38d5a9)
280  + index-pack: work around thread-unsafe pread()
282  Enable threaded index-pack on platforms without thread-safe
283  pread() emulation.
286 * rs/ref-update-check-errors-early (2014-04-17) 2 commits
287   (merged to 'next' on 2014-04-21 at acc62aa)
288  + commit.c: check for lock error and return early
289  + sequencer.c: check for lock failure and bail early in fast_forward_to
292 * sk/msvc-dynlink-crt (2014-05-06) 1 commit
293   (merged to 'next' on 2014-05-07 at 20f4839)
294  + MSVC: link dynamically to the CRT
297 * sk/svn-parse-datestamp (2014-04-17) 1 commit
298   (merged to 'next' on 2014-04-21 at 5ff519f)
299  + SVN.pm::parse_svn_date: allow timestamps with a single-digit hour
301  "git svn" learned to cope with malformed timestamps with only one
302  digit in the hour part, e.g. 2014-01-07T5:01:02.048176Z, emitted
303  by some broken subversion server implementations.
306 * sk/tag-contains-wo-recursion (2014-04-25) 1 commit
307   (merged to 'next' on 2014-04-25 at f320750)
308  + git tag --contains: avoid stack overflow
311 * ym/fix-opportunistic-index-update-race (2014-04-10) 2 commits
312   (merged to 'next' on 2014-04-16 at cb92f4f)
313  + read-cache.c: verify index file before we opportunistically update it
314  + wrapper.c: add xpread() similar to xread()
316  Read-only operations such as "git status" that internally refreshes
317  the index write out the refreshed index to the disk to optimize
318  future accesses to the working tree, but this could race with a
319  "read-write" operation that modify the index while it is running.
320  Detect such a race and avoid overwriting the index.
322  Duy raised a good point that we may need to do the same for the
323  normal writeout codepath, not just the "opportunistic" update
324  codepath.  While that is true, nobody sane would be running two
325  simultaneous operations that are clearly write-oriented competing
326  with each other against the same index file.  So in that sense that
327  can be done as a less urgent follow-up for this topic.
329 --------------------------------------------------
330 [New Topics]
332 * bg/xcalloc-nmemb-then-size (2014-05-27) 12 commits
333  - transport-helper.c: rearrange xcalloc arguments
334  - remote.c: rearrange xcalloc arguments
335  - reflog-walk.c: rearrange xcalloc arguments
336  - pack-revindex.c: rearrange xcalloc arguments
337  - notes.c: rearrange xcalloc arguments
338  - imap-send.c: rearrange xcalloc arguments
339  - http-push.c: rearrange xcalloc arguments
340  - diff.c: rearrange xcalloc arguments
341  - config.c: rearrange xcalloc arguments
342  - commit.c: rearrange xcalloc arguments
343  - builtin/remote.c: rearrange xcalloc arguments
344  - builtin/ls-remote.c: rearrange xcalloc arguments
346  Like calloc(3), xcalloc() takes nmemb and then size.
348  Will merge to 'next'.
351 * jk/complete-merge-pull (2014-05-27) 2 commits
352  - completion: add missing options for git-merge
353  - completion: add a note that merge options are shared
355  The completion code did not know about quite a few options that are
356  common between "git merge" and "git pull", and a couple of options
357  unique to "git merge".
359  Will merge to 'next'.
362 * jl/remote-rm-prune (2014-05-27) 3 commits
363  - remote prune: optimize "dangling symref" check/warning
364  - remote: repack packed-refs once when deleting multiple refs
365  - remote rm: delete remote configuration as the last
367  "git remote rm" and "git remote prune" can involve removing many
368  refs at once, which is not a very efficient thing to do when very
369  many refs exist in the packed-refs file.
371  Will merge to 'next'.
374 * jm/instaweb-apache-24 (2014-05-27) 1 commit
375  - git-instaweb: add support for Apache 2.4
377  Will merge to 'next'.
380 * jm/t9138-style-fix (2014-05-27) 1 commit
381  - t9138-git-svn-authors-prog.sh fixups
383  Will merge to 'next'.
386 * mc/git-p4-pre-are-p4-only (2014-05-27) 1 commit
387   (merged to 'next' on 2014-05-27 at 71572fe)
388  + git-p4: Do not include diff in spec file when just preparing p4
390  Will merge to 'master'.
393 * nd/daemonize-gc (2014-05-27) 1 commit
394  - gc --auto: do not lock refs in the background
396  Will merge to 'next'.
399 * ow/config-mailmap-pathname (2014-05-27) 1 commit
400  - config: respect '~' and '~user' in mailmap.file
402  Will merge to 'next'.
405 * rh/prompt-tests (2014-05-30) 10 commits
406  - t9904: new __git_ps1 tests for Zsh
407  - lib-prompt-tests.sh: add variable for string that encodes percent in PS1
408  - lib-prompt-tests.sh: put all tests inside a function
409  - t9903: move prompt tests to a new lib-prompt-tests.sh file
410  - t9903: move PS1 color code variable definitions to lib-bash.sh
411  - t9903: include "Bash" in test names via new $shellname var
412  - t9903: run pc mode tests again with PS1 expansion disabled
413  - t9903: move test name prefix to a separate variable
414  - t9903: put the Bash pc mode prompt test cases in a function
415  - t9903: remove Zsh test from the suite of Bash prompt tests
417  Will merge to 'next'.
420 * jm/doc-wording-tweaks (2014-05-28) 1 commit
421  - Documentation: wording fixes in the user manual and glossary
423  Will merge to 'next'.
426 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
427  - gitweb: Harden UTF-8 handling in generated links
429  Will merge to 'next'.
432 * mn/sideband-no-ansi (2014-06-02) 1 commit
433  - sideband.c: do not use ANSI control sequence on non-terminal
435  Will merge to 'next'.
438 * jc/fetch-push-refmap (2014-06-02) 9 commits
439  - fetch: allow explicit --refmap to override configuration
440  - fetch doc: add a section on configured remote-tracking branches
441  - fetch doc: remove "short-cut" section
442  - fetch doc: update refspec format description
443  - fetch doc: on pulling multiple refspecs
444  - fetch doc: remove notes on outdated "mixed layout"
445  - fetch doc: update note on '+' in front of the refspec
446  - fetch doc: move FETCH_HEAD material lower and add an example
447  - fetch doc: update introductory part for clarity
450 * jc/shortlog-ref-exclude (2014-05-30) 1 commit
451  - shortlog: allow --exclude=<glob> to be passed
453  Needs rewording the proposed log message ($gmane/250469, 250475).
456 * lt/log-auto-decorate (2014-05-30) 1 commit
457  - git log: support "auto" decorations
459  Will merge to 'next'.
462 * lt/request-pull (2014-06-02) 1 commit
463  - fix brown paper bag breakage in t5150-request-pull.sh
465  Will merge to 'next'.
468 * na/no-http-test-in-the-middle (2014-05-30) 1 commit
469  - t5538: move http push tests out to t5542
471  Will merge to 'next'.
474 * pb/trim-trailing-spaces (2014-06-02) 1 commit
475  - dir.c:trim_trailing_spaces(): fix for " \ " sequence
477  Will merge to 'next'.
480 * rs/mailinfo-header-cmp (2014-06-02) 1 commit
481  - mailinfo: use strcmp() for string comparison
483  Will merge to 'next'.
486 * rs/pack-objects-no-unnecessary-realloc (2014-06-02) 1 commit
487  - pack-objects: use free()+xcalloc() instead of xrealloc()+memset()
489  Will merge to 'next'.
492 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
493  - userdiff: support Java try keyword
494  - userdiff: support C# async methods and correct C# keywords
497 * jk/error-resolve-conflict-advice (2014-06-03) 2 commits
498  - error_resolve_conflict: drop quotations around operation
499  - error_resolve_conflict: rewrap advice message
501  Will merge to 'next'.
504 * rs/read-ref-at (2014-06-03) 1 commit
505  - refs.c: change read_ref_at to use the reflog iterators
507  Will merge to 'next'.
510 * sh/enable-preloadindex (2014-06-03) 1 commit
511  - environment.c: enable core.preloadindex by default
513  Will merge to 'next'.
516 * ta/string-list-init (2014-06-03) 1 commit
517  - string-list: Add a value to string_list initializer lists
519  Will merge to 'next'.
521 --------------------------------------------------
522 [Stalled]
524 * jl/status-added-submodule-is-never-ignored (2014-04-07) 2 commits
525  - commit -m: commit staged submodules regardless of ignore config
526  - status/commit: show staged submodules regardless of ignore config
528  There also are a few patches Ronald Weiss and Jens are working on
529  polishing around this topic, and a patch from Jens each for gitk
530  and git-gui.
532  Waiting for the dust to settle until picking them up all.
535 * mh/lockfile (2014-04-15) 25 commits
536  - trim_last_path_elm(): replace last_path_elm()
537  - resolve_symlink(): take a strbuf parameter
538  - resolve_symlink(): use a strbuf for internal scratch space
539  - change lock_file::filename into a strbuf
540  - commit_lock_file(): use a strbuf to manage temporary space
541  - try_merge_strategy(): use a statically-allocated lock_file object
542  - try_merge_strategy(): remove redundant lock_file allocation
543  - struct lock_file: declare some fields volatile
544  - lockfile: avoid transitory invalid states
545  - commit_lock_file(): die() if called for unlocked lockfile object
546  - commit_lock_file(): inline temporary variable
547  - remove_lock_file(): call rollback_lock_file()
548  - lock_file(): exit early if lockfile cannot be opened
549  - write_packed_entry_fn(): convert cb_data into a (const int *)
550  - prepare_index(): declare return value to be (const char *)
551  - delete_ref_loose(): don't muck around in the lock_file's filename
552  - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
553  - lockfile.c: document the various states of lock_file objects
554  - lock_file(): always add lock_file object to lock_file_list
555  - hold_lock_file_for_append(): release lock on errors
556  - lockfile: unlock file if lockfile permissions cannot be adjusted
557  - rollback_lock_file(): set fd to -1
558  - rollback_lock_file(): do not clear filename redundantly
559  - api-lockfile: expand the documentation
560  - unable_to_lock_die(): rename function from unable_to_lock_index_die()
562  Refactor and fix corner-case bugs in the lockfile API, all looked
563  sensible.
565  Expecting a reroll.
568 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
569  - git-rebase: print name of rev when using shorthand
571  Teach "git rebase -" to report the concrete name of the branch
572  (i.e. the previous one).
574  But it stops short and does not do the same for "git rebase @{-1}".
575  Expecting a reroll.
578 * tr/merge-recursive-index-only (2014-02-05) 3 commits
579  - merge-recursive: -Xindex-only to leave worktree unchanged
580  - merge-recursive: internal flag to avoid touching the worktree
581  - merge-recursive: remove dead conditional in update_stages()
582  (this branch is used by tr/remerge-diff.)
584  Will hold.
587 * tr/remerge-diff (2014-02-26) 5 commits
588  . log --remerge-diff: show what the conflict resolution changed
589  . name-hash: allow dir hashing even when !ignore_case
590  . merge-recursive: allow storing conflict hunks in index
591  . revision: fold all merge diff variants into an enum merge_diff_mode
592  . combine-diff: do not pass revs->dense_combined_merges redundantly
593  (this branch uses tr/merge-recursive-index-only.)
595  "log -p" output learns a new way to let users inspect a merge
596  commit by showing the differences between the automerged result
597  with conflicts the person who recorded the merge would have seen
598  and the final conflict resolution that was recorded in the merge.
600  Needs to be rebased, now kb/fast-hashmap topic is in.
603 * jk/makefile (2014-02-05) 16 commits
604  . FIXUP
605  . move LESS/LV pager environment to Makefile
606  . Makefile: teach scripts to include make variables
607  . FIXUP
608  . Makefile: auto-build C strings from make variables
609  . Makefile: drop *_SQ variables
610  . FIXUP
611  . Makefile: add c-quote helper function
612  . Makefile: introduce sq function for shell-quoting
613  . Makefile: always create files via make-var
614  . Makefile: store GIT-* sentinel files in MAKE/
615  . Makefile: prefer printf to echo for GIT-*
616  . Makefile: use tempfile/mv strategy for GIT-*
617  . Makefile: introduce make-var helper function
618  . Makefile: fix git-instaweb dependency on gitweb
619  . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
621  Simplify the Makefile rules and macros that exist primarily for
622  quoting purposes, and make it easier to robustly express the
623  dependency rules.
625  Expecting a reroll.
628 * po/everyday-doc (2014-01-27) 1 commit
629  - Make 'git help everyday' work
631  This may make the said command to emit something, but the source is
632  not meant to be formatted into a manual pages to begin with, and
633  also its contents are a bit stale.  It may be a good first step in
634  the right direction, but needs more work to at least get the
635  mark-up right before public consumption.
637  Will hold.
640 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
641  . t1507 (rev-parse-upstream): fix typo in test title
642  . implement @{publish} shorthand
643  . branch_get: provide per-branch pushremote pointers
644  . branch_get: return early on error
645  . sha1_name: refactor upstream_mark
647  Give an easier access to the tracking branches from "other" side in
648  a triangular workflow by introducing B@{publish} that works in a
649  similar way to how B@{upstream} does.
651  Meant to be used as a basis for whatever Ram wants to build on.
653  Ejected from 'pu' to unclutter.
656 * fc/publish-vs-upstream (2014-04-21) 8 commits
657  . sha1_name: add support for @{publish} marks
658  . sha1_name: simplify track finding
659  . sha1_name: cleanup interpret_branch_name()
660  . branch: display publish branch
661  . push: add --set-publish option
662  . branch: add --set-publish-to option
663  . Add concept of 'publish' branch
664  . t5516 (fetch-push): fix test restoration
666  Add branch@{publish}; it seems that this is somewhat different from
667  Ram and Peff started working on.  At least the tip needs to be
668  rerolled not to squat on @{p} which @{push} and possibly @{pull}
669  may want to share.
671  Ejected from 'pu' to unclutter.
674 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
675  - merge: drop unused arg from abort_commit method signature
676  - merge: make prepare_to_commit responsible for write_merge_state
677  - t7505: ensure cleanup after hook blocks merge
678  - t7505: add missing &&
680  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
681  run during "git merge".  The log message stresses too much on one
682  hook, prepare-commit-msg, but it would equally apply to other hooks
683  like post-merge, I think.
685  Waiting for a reroll.
688 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
689  - Teach checkout to recursively checkout submodules
690  - submodule: teach unpack_trees() to update submodules
691  - submodule: teach unpack_trees() to repopulate submodules
692  - submodule: teach unpack_trees() to remove submodule contents
693  - submodule: prepare for recursive checkout of submodules
695  An RFCv2 exists ($gmane/241455) with sizable review comments.
696  Expecting a reroll.
699 * jc/graph-post-root-gap (2013-12-30) 3 commits
700  - WIP: document what we want at the end
701  - graph: remove unused code a bit
702  - graph: stuff the current commit into graph->columns[]
704  This was primarily a RFH ($gmane/239580).
707 * np/pack-v4 (2013-09-18) 90 commits
708  . packv4-parse.c: add tree offset caching
709  . t1050: replace one instance of show-index with verify-pack
710  . index-pack, pack-objects: allow creating .idx v2 with .pack v4
711  . unpack-objects: decode v4 trees
712  . unpack-objects: allow to save processed bytes to a buffer
713  - ...
715  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
716  primarily for wider distribution of the preview edition.
718  Needs to be rebased, now the pack-bitmap series is in.
721 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
722  - perf-lib: add test_perf_cleanup target
723  - perf-lib: split starting the test from the execution
725  Add test_perf_cleanup shell function to the perf suite, that allows
726  the script writers to define a test with a clean-up action.
728  Will hold.
731 * jc/show-branch (2014-03-24) 5 commits
732  - show-branch: use commit slab to represent bitflags of arbitrary width
733  - show-branch.c: remove "all_mask"
734  - show-branch.c: abstract out "flags" operation
735  - show-branch.c: lift all_mask/all_revs to a global static
736  - show-branch.c: update comment style
738  Waiting for the final step to lift the hard-limit before sending it out.
740 --------------------------------------------------
741 [Cooking]
743 * ep/shell-assign-and-export-vars (2014-05-23) 2 commits
744   (merged to 'next' on 2014-05-23 at 7699c0e)
745  + scripts: more "export VAR=VALUE" fixes
746  + scripts: "export VAR=VALUE" construct is not portable
748  Will merge to 'master'.
751 * jn/test-lint-unmoor (2014-05-23) 1 commit
752   (merged to 'next' on 2014-05-23 at aa997bc)
753  + test-lint: find unportable sed, echo, test, and export usage after &&
755  Will merge to 'master'.
758 * jj/command-line-adjective (2014-05-21) 1 commit
759   (merged to 'next' on 2014-05-23 at fe136c8)
760  + Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues
762  Will merge to 'master'.
765 * jk/daemon-tolower (2014-05-23) 1 commit
766   (merged to 'next' on 2014-05-23 at 23c796d)
767  + daemon/config: factor out duplicate xstrdup_tolower
769  Will merge to 'master'.
772 * jk/strbuf-tolower (2014-05-23) 1 commit
773   (merged to 'next' on 2014-05-23 at b172137)
774  + strbuf: add strbuf_tolower function
776  Will merge to 'master'.
779 * jk/http-errors (2014-05-27) 8 commits
780  - http: default text charset to iso-8859-1
781  - remote-curl: reencode http error messages
782  - strbuf: add strbuf_reencode helper
783  - http: optionally extract charset parameter from content-type
784  - http: extract type/subtype portion of content-type
785  - t5550: test display of remote http error messages
786  - t/lib-httpd: use write_script to copy CGI scripts
787  - test-lib: preserve GIT_CURL_VERBOSE from the environment
789  Will merge to 'next'.
792 * jm/format-patch-mail-sig (2014-05-27) 2 commits
793  - format-patch: add "--signature-file=<file>" option
794  - format-patch: make newline after signature conditional
796  Will merge to 'next'.
799 * sk/wincred (2014-05-14) 2 commits
800   (merged to 'next' on 2014-05-21 at a3b9ca3)
801  + wincred: avoid overwriting configured variables
802  + wincred: add install target
804  Will merge to 'master'.
807 * as/pretty-truncate (2014-05-21) 5 commits
808   (merged to 'next' on 2014-05-23 at 94d4c51)
809  + pretty.c: format string with truncate respects logOutputEncoding
810  + t4205, t6006: add tests that fail with i18n.logOutputEncoding set
811  + t4205 (log-pretty-format): use `tformat` rather than `format`
812  + t4041, t4205, t6006, t7102: don't hardcode tested encoding value
813  + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
815  Will merge to 'master'.
818 * cc/replace-graft (2014-05-19) 1 commit
819   (merged to 'next' on 2014-05-21 at 7d90c4e)
820  + replace: add --graft option
821  (this branch uses cc/replace-edit.)
823  Will eject from 'next' and replace with a newer reroll.
826 * jk/argv-array-for-child-process (2014-05-15) 7 commits
827   (merged to 'next' on 2014-05-21 at 5b2fa64)
828  + argv-array: drop "detach" code
829  + get_importer: use run-command's internal argv_array
830  + get_exporter: use argv_array
831  + get_helper: use run-command's internal argv_array
832  + git_connect: use argv_array
833  + run_column_filter: use argv_array
834  + run-command: store an optional argv_array
836  Will merge to 'master'.
839 * jk/diff-files-assume-unchanged (2014-05-15) 1 commit
840   (merged to 'next' on 2014-05-21 at 142d2c8)
841  + run_diff_files: do not look at uninitialized stat data
843  Will merge to 'master'.
846 * jk/report-fail-to-read-objects-better (2014-05-15) 1 commit
847   (merged to 'next' on 2014-05-21 at 77c89fe)
848  + open_sha1_file: report "most interesting" errno
850  Will merge to 'master'.
853 * mt/rebase-i-keep-empty-test (2014-05-19) 1 commit
854   (merged to 'next' on 2014-05-21 at d87d266)
855  + rebase --keep-empty -i: add test
857  Will merge to 'master'.
860 * nd/status-auto-comment-char (2014-05-19) 2 commits
861   (merged to 'next' on 2014-05-21 at f762e62)
862  + commit: allow core.commentChar=auto for character auto selection
863  + config: be strict on core.commentChar
865  Will merge to 'master'.
868 * rr/rebase-autostash-fix (2014-05-20) 2 commits
869   (merged to 'next' on 2014-05-21 at ca4aa40)
870  + rebase -i: test "Nothing to do" case with autostash
871  + rebase -i: handle "Nothing to do" case with autostash
873  Will merge to 'master'.
876 * sk/spawn-less-case-insensitively-from-grep-O-i (2014-05-15) 1 commit
877   (merged to 'next' on 2014-05-21 at eb28305)
878  + git grep -O -i: if the pager is 'less', pass the '-I' option
880  Will merge to 'master'.
883 * sk/windows-unc-path (2014-05-20) 1 commit
884   (merged to 'next' on 2014-05-21 at d1f1350)
885  + Windows: Allow using UNC path for git repository
887  Will merge to 'master'.
890 * jk/diff-follow-must-take-one-pathspec (2014-05-20) 1 commit
891   (merged to 'next' on 2014-05-23 at 4653133)
892  + move "--follow needs one pathspec" rule to diff_setup_done
894  Will merge to 'master'.
897 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
898  - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
899  - git-add--interactive: Preserve diff heading when splitting hunks
901  Waiting for a reroll.
904 * jk/do-not-run-httpd-tests-as-root (2014-05-12) 1 commit
905   (merged to 'next' on 2014-05-21 at 676392b)
906  + t/lib-httpd: require SANITY prereq
908  Will merge to 'master'.
911 * jk/index-pack-report-missing (2014-05-12) 1 commit
912   (merged to 'next' on 2014-05-14 at 72d40e1)
913  + index-pack: distinguish missing objects from type errors
915  Will merge to 'master'.
918 * tb/unicode-6.3-zero-width (2014-05-12) 2 commits
919   (merged to 'next' on 2014-05-14 at 08e0171)
920  + utf8: make it easier to auto-update git_wcwidth()
921  + utf8.c: use a table for double_width
923  Update the logic to compute the display width needed for utf8
924  strings and allow us to more easily maintain the tables used in
925  that logic.
927  We may want to let the users choose if codepoints with ambiguous
928  widths are treated as a double or single width in a follow-up patch.
930  Will merge to 'master'.
933 * mk/show-s-no-extra-blank-line-for-merges (2014-05-15) 1 commit
934   (merged to 'next' on 2014-05-21 at 3b98b35)
935  + git-show: fix 'git show -s' to not add extra terminator after merge commit
937  Will merge to 'master'.
940 * wk/doc-clarify-upstream (2014-05-13) 1 commit
941   (merged to 'next' on 2014-05-14 at 6c8fb52)
942  + Documentation: mention config sources for @{upstream}
944  Will merge to 'master'.
947 * dk/raise-core-deltabasecachelimit (2014-05-06) 1 commit
948   (merged to 'next' on 2014-05-12 at 97ec92a)
949  + Bump core.deltaBaseCacheLimit to 96m
951  The original 16 MiB limit for the in-core delta-base-cache
952  introduced in 18bdec11 (Limit the size of the new delta_base_cache,
953  2007-03-19) is turning out to be too small.
955  Will merge to 'master'.
958 * fc/status-printf-squelch-format-zero-length-warnings (2014-05-07) 1 commit
959   (merged to 'next' on 2014-05-12 at 6b04e23)
960  + silence a bunch of format-zero-length warnings
962  Will merge to 'master'.
965 * jk/grep-tell-run-command-to-cd-when-running-pager (2014-05-07) 1 commit
966   (merged to 'next' on 2014-05-12 at 065cb22)
967  + grep: use run-command's "dir" option for --open-files-in-pager
969  Will merge to 'master'.
972 * jk/squelch-compiler-warning-from-funny-error-macro (2014-05-06) 2 commits
973   (merged to 'next' on 2014-05-12 at d9daf8d)
974  + let clang use the constant-return error() macro
975  + inline constant return from error() function
977  Will merge to 'master'.
980 * rs/reflog-exists (2014-05-08) 2 commits
981   (merged to 'next' on 2014-05-12 at 24a1d01)
982  + checkout.c: use ref_exists instead of file_exist
983  + refs.c: add new functions reflog_exists and delete_reflog
985  Will merge to 'master'.
988 * tg/tag-state-tag-name-in-editor-hints (2014-05-07) 1 commit
989   (merged to 'next' on 2014-05-12 at 0b7db32)
990  + builtin/tag.c: show tag name to hint in the message editor
992  Will merge to 'master'.
995 * sk/submodules-absolute-path-on-windows (2014-05-08) 1 commit
996   (merged to 'next' on 2014-05-14 at 83a05d9)
997  + Revert "submodules: fix ambiguous absolute paths under Windows"
999  Will merge to 'master'.
1002 * jn/contrib-remove-diffall (2014-05-09) 1 commit
1003   (merged to 'next' on 2014-05-12 at 416009e)
1004  + contrib: remove git-diffall
1006  Spring cleaning of contrib/.
1008  Will merge to 'master'.
1011 * jn/contrib-remove-vim (2014-05-09) 1 commit
1012   (merged to 'next' on 2014-05-12 at 9e727c8)
1013  + contrib: remove vim support instructions
1015  Spring cleaning of contrib/.
1017  Will merge to 'master'.
1020 * ss/howto-manage-trunk (2014-05-28) 1 commit
1021   (merged to 'next' on 2014-05-28 at 5318336)
1022  + How to keep a project's canonical history correct.
1024  Will merge to 'master'.
1027 * wg/svn-fe-style-fixes (2014-05-12) 1 commit
1028   (merged to 'next' on 2014-05-12 at 88c0e0d)
1029  + svn-fe: conform to pep8
1031  Will merge to 'master'.
1034 * cb/byte-order (2014-05-30) 3 commits
1035   (merged to 'next' on 2014-05-30 at 857617e)
1036  + compat/bswap.h: fix endianness detection
1037   (merged to 'next' on 2014-05-07 at f55c040)
1038  + compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN
1039  + compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER
1041  Compatibility enhancement for Solaris.
1043  Will merge to 'master'.
1046 * dt/merge-recursive-case-insensitive (2014-05-08) 2 commits
1047   (merged to 'next' on 2014-05-12 at 820d524)
1048  + mv: allow renaming to fix case on case insensitive filesystems
1049  + merge-recursive.c: fix case-changing merge bug
1051  On a case insensitive filesystem, merge-recursive incorrectly
1052  deleted the file that is to be renamed to a name that is the same
1053  except for case differences.
1055  Will merge to 'master'.
1058 * jc/coding-guidelines (2014-05-20) 9 commits
1059   (merged to 'next' on 2014-05-23 at bb351fc)
1060  + CodingGuidelines: avoid "test <cond> -a/-o <cond>"
1061   (merged to 'next' on 2014-05-12 at e1fcf62)
1062  + CodingGuidelines: on splitting a long line
1063  + CodingGuidelines: on comparison
1064  + CodingGuidelines: do not call the conditional statement "if()"
1065  + CodingGuidelines: give an example for shell function preamble
1066  + CodingGuidelines: give an example for control statements
1067  + CodingGuidelines: give an example for redirection
1068  + CodingGuidelines: give an example for case/esac statement
1069  + CodingGuidelines: once it is in, it is not worth the code churn
1071  Will merge to 'master'.
1074 * jd/subtree (2014-05-13) 6 commits
1075   (merged to 'next' on 2014-05-14 at 977db74)
1076  + contrib/subtree: allow adding an annotated tag
1077   (merged to 'next' on 2014-05-07 at 81b375d)
1078  + contrib/subtree/Makefile: clean up rule for "clean"
1079  + contrib/subtree/Makefile: clean up rules to generate documentation
1080  + contrib/subtree/Makefile: s/libexecdir/gitexecdir/
1081  + contrib/subtree/Makefile: use GIT-VERSION-FILE
1082  + contrib/subtree/Makefile: scrap unused $(gitdir)
1084  Will merge to 'master'.
1087 * mm/pager-less-sans-S (2014-05-07) 1 commit
1088   (merged to 'next' on 2014-05-07 at 66ce999)
1089  + pager: remove 'S' from $LESS by default
1091  Will merge to 'master'.
1094 * cc/replace-edit (2014-05-19) 10 commits
1095   (merged to 'next' on 2014-05-19 at fcdd83f)
1096  + Documentation: replace: describe new --edit option
1097  + replace: add --edit to usage string
1098  + replace: add tests for --edit
1099  + replace: die early if replace ref already exists
1100  + replace: refactor checking ref validity
1101  + replace: make sure --edit results in a different object
1102   (merged to 'next' on 2014-05-12 at 71449bf)
1103  + replace: add --edit option
1104  + replace: factor object resolution out of replace_object
1105  + replace: use OPT_CMDMODE to handle modes
1106  + replace: refactor command-mode determination
1107  (this branch is used by cc/replace-graft.)
1109  "git replace" learns a new "--edit" option.
1111  Will merge to 'master'.
1114 * da/imap-send-use-credential-helper (2014-04-29) 1 commit
1115   (merged to 'next' on 2014-05-12 at b0698a5)
1116  + imap-send: use git-credential
1118  "git imap-send" learns to ask the credential helper for
1119  authentication material.
1121  Will merge to 'master'.
1124 * dk/blame-reorg (2014-04-28) 1 commit
1125   (merged to 'next' on 2014-05-14 at 354a0e3)
1126  + blame: large-scale performance rewrite
1128  Will merge to 'master'.
1131 * je/pager-do-not-recurse (2014-04-28) 1 commit
1132   (merged to 'next' on 2014-05-12 at 32de470)
1133  + pager: do allow spawning pager recursively
1135  We used to unconditionally disabled the pager in the pager process
1136  we spawn to feed out output, but that prevents people who want to
1137  run less within less from doing so.
1139  Will merge to 'master'.
1142 * jk/commit-C-pick-empty (2014-04-28) 1 commit
1143   (merged to 'next' on 2014-05-12 at c187e1e)
1144  + commit: do not complain of empty messages from -C
1146  "git commit --allow-empty-message -C $commit" did not work when the
1147  commit did not have any log message.
1149  Will merge to 'master'.
1152 * jk/utf8-switch-between-nfd-and-nfc (2014-04-29) 1 commit
1153   (merged to 'next' on 2014-05-12 at 948823c)
1154  + t3910: show failure of core.precomposeunicode with decomposed filenames
1156  Document a known breakage with a test.
1158  Will merge to 'master'.
1161 * mt/send-email-cover-to-cc (2014-04-29) 2 commits
1162   (merged to 'next' on 2014-05-12 at b696006)
1163  + test/send-email: to-cover, cc-cover tests
1164  + git-send-email: two new options: to-cover, cc-cover
1166  Will merge to 'master'.
1169 * nd/split-index (2014-06-02) 34 commits
1170  - fixup! read-cache: new API write_locked_index instead of write_index/write_cache
1171  - SQUASH???
1172  - t1700: new tests for split-index mode
1173  - t2104: make sure split index mode is off for the version test
1174  - read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
1175  - read-tree: note about dropping split-index mode or index version
1176  - read-tree: force split-index mode off on --index-output
1177  - rev-parse: add --shared-index-path to get shared index path
1178  - update-index --split-index: do not split if $GIT_DIR is read only
1179  - update-index: new options to enable/disable split index mode
1180  - split-index: strip pathname of on-disk replaced entries
1181  - split-index: do not invalidate cache-tree at read time
1182  - split-index: the reading part
1183  - split-index: the writing part
1184  - read-cache: mark updated entries for split index
1185  - read-cache: save deleted entries in split index
1186  - read-cache: mark new entries for split index
1187  - read-cache: split-index mode
1188  - read-cache: save index SHA-1 after reading
1189  - entry.c: update cache_changed if refresh_cache is set in checkout_entry()
1190  - cache-tree: mark istate->cache_changed on prime_cache_tree()
1191  - cache-tree: mark istate->cache_changed on cache tree update
1192  - cache-tree: mark istate->cache_changed on cache tree invalidation
1193  - unpack-trees: be specific what part of the index has changed
1194  - resolve-undo: be specific what part of the index has changed
1195  - update-index: be specific what part of the index has changed
1196  - read-cache: be specific what part of the index has changed
1197  - read-cache: be strict about "changed" in remove_marked_cache_entries()
1198  - read-cache: store in-memory flags in the first 12 bits of ce_flags
1199  - read-cache: relocate and unexport commit_locked_index()
1200  - read-cache: new API write_locked_index instead of write_index/write_cache
1201  - sequencer: do not update/refresh index if the lock cannot be held
1202  - ewah: delete unused ewah_read_mmap_native declaration
1203  - ewah: fix constness of ewah_read_mmap
1205  The tip two remind us the need for a minor reroll.  If I find time
1206  I could try to squash them myself, but it is low priority for me.
1209 * tl/relax-in-poll-emulation (2014-04-29) 1 commit
1210   (merged to 'next' on 2014-05-12 at 9369b08)
1211  + compat/poll: sleep 1 millisecond to avoid busy wait
1213  Will merge to 'master'.
1216 * bc/blame-crlf-test (2014-05-08) 1 commit
1217   (merged to 'next' on 2014-05-14 at b819505)
1218  + blame: correctly handle files regardless of autocrlf
1220  If a file contained CRLF line endings in a repository with
1221  core.autocrlf=input, then blame always marked lines as "Not
1222  Committed Yet", even if they were unmodified.
1224  Will merge to 'master'.
1227 * ib/test-selectively-run (2014-05-21) 4 commits
1228  - t0000-*.sh: Fix the GIT_SKIP_TESTS sub-tests
1229  - test-lib: '--run' to run only specific tests
1230  - test-lib: tests skipped by GIT_SKIP_TESTS say so
1231  - test-lib: Document short options in t/README
1233  Allow specifying only certain individual test pieces to be run
1234  using a range notation (e.g. "t1234-test.sh --run='1-4 6 8 9-'").
1237 * fc/remote-helper-refmap (2014-04-21) 8 commits
1238   (merged to 'next' on 2014-04-22 at fb5a4c2)
1239  + transport-helper: remove unnecessary strbuf resets
1240  + transport-helper: add support to delete branches
1241  + fast-export: add support to delete refs
1242  + fast-import: add support to delete refs
1243  + transport-helper: add support to push symbolic refs
1244  + transport-helper: add support for old:new refspec
1245  + fast-export: add new --refspec option
1246  + fast-export: improve argument parsing
1248  Allow remote-helper/fast-import based transport to rename the refs
1249  while transferring the history.
1252 * jl/git-gui-show-added-submodule-changes (2014-04-15) 1 commit
1253  - git-gui: show staged submodules regardless of ignore config
1255  Tentatively queued what I expect to receive via Pat Thoyts.
1258 * jl/gitk-show-added-submodule-changes (2014-04-15) 3 commits
1259  - gitk: show staged submodules regardless of ignore config
1260  - gitk: Merge branch 'new' of https://github.com/vnwildman/gitk
1261  - l10n: Init Vietnamese translation
1263  Tentatively queued what I expect to receive via Paul Mackerras.
1266 * jh/submodule-tests (2014-04-17) 1 commit
1267  - t7410: 210 tests for various 'git submodule update' scenarios
1270 * mt/patch-id-stable (2014-05-06) 6 commits
1271   (merged to 'next' on 2014-05-07 at 6ade68e)
1272  + test doc: test_write_lines does not split its arguments
1273   (merged to 'next' on 2014-05-02 at cfa251b)
1274  + t4204-patch-id.sh: default is now stable
1275  + patch-id: change default to stable
1276   (merged to 'next' on 2014-05-02 at b69326a)
1277  + patch-id-test: test stable and unstable behaviour
1278  + test: add test_write_lines helper
1279  + patch-id: make it stable against hunk reordering
1281  Introduce a new way to compute patch-id for a patch that is not
1282  affected by the order of the paths that appear in the input.
1284  Will merge to 'master'.
1287 * nd/multiple-work-trees (2014-03-25) 28 commits
1288  - count-objects: report unused files in $GIT_DIR/repos/...
1289  - gc: support prune --repos
1290  - gc: style change -- no SP before closing bracket
1291  - prune: strategies for linked checkouts
1292  - checkout: detach if the branch is already checked out elsewhere
1293  - checkout: clean up half-prepared directories in --to mode
1294  - checkout: support checking out into a new working directory
1295  - use new wrapper write_file() for simple file writing
1296  - wrapper.c: wrapper to open a file, fprintf then close
1297  - setup.c: support multi-checkout repo setup
1298  - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
1299  - setup.c: convert check_repository_format_gently to use strbuf
1300  - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
1301  - setup.c: convert is_git_directory() to use strbuf
1302  - git-stash: avoid hardcoding $GIT_DIR/logs/....
1303  - *.sh: avoid hardcoding $GIT_DIR/hooks/...
1304  - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
1305  - $GIT_COMMON_DIR: a new environment variable
1306  - commit: use SEQ_DIR instead of hardcoding "sequencer"
1307  - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
1308  - reflog: avoid constructing .lock path with git_path
1309  - *.sh: respect $GIT_INDEX_FILE
1310  - git_path(): be aware of file relocation in $GIT_DIR
1311  - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
1312  - path.c: rename vsnpath() to do_git_path()
1313  - git_snpath(): retire and replace with strbuf_git_path()
1314  - path.c: make get_pathname() call sites return const char *
1315  - path.c: make get_pathname() return strbuf instead of static buffer
1317  A replacement for contrib/workdir/git-new-workdir that does not
1318  rely on symbolic links and make sharing of objects and refs safer
1319  by making the borrowee and borrowers aware of each other.
1321  Will hold.
1324 * cc/interpret-trailers (2014-05-28) 11 commits
1325  - Documentation: add documentation for 'git interpret-trailers'
1326  - trailer: add tests for commands in config file
1327  - trailer: execute command from 'trailer.<name>.command'
1328  - trailer: add tests for "git interpret-trailers"
1329  - trailer: add interpret-trailers command
1330  - trailer: put all the processing together and print
1331  - trailer: parse trailers from file or stdin
1332  - trailer: process command line trailer arguments
1333  - trailer: read and process config information
1334  - trailer: process trailers from input message and arguments
1335  - trailer: add data structures and basic functions
1337  A new filter to programatically edit the tail end of the commit log
1338  messages.
1340 --------------------------------------------------
1341 [Discarded]
1343 * jc/format-patch (2013-04-22) 2 commits
1344  . format-patch: --inline-single
1345  . format-patch: rename "no_inline" field
1347  A new option to send a single patch to the standard output to be
1348  appended at the bottom of a message.  I personally have no need for
1349  this, but it was easy enough to cobble together.  Tests, docs and
1350  stripping out more MIMEy stuff are left as exercises to interested
1351  parties.
1354 * mt/rebase-i-ack (2014-05-19) 6 commits
1355  . git-ack: record an ack
1356  . rebase: test ack
1357  . git-rebase: document ack
1358  . rebase -i: add ack action
1359  + test: add test_write_lines helper
1360  + patch-id: make it stable against hunk reordering
1361  (this branch is tangled with mt/patch-id-stable.)
1363  Will be rerolled post 2.0
1366 * rs/ref-transaction (2014-04-29) 27 commits
1367  . refs.c: make lock_ref_sha1 static
1368  . refs.c: make write_ref_sha1 static
1369  . walker.c: use ref transaction for ref updates
1370  . fast-import.c: use a ref transaction when dumping tags
1371  . receive-pack.c: use a reference transaction for updating the refs
1372  . fetch.c: use a single ref transaction for all ref updates
1373  . fetch.c: change s_update_ref to use a ref transaction
1374  . fetch.c: clear errno before calling functions that might set it
1375  . refs.c: ref_transaction_commit should not free the transaction
1376  . refs.c: free the transaction before returning when number of updates is 0
1377  . refs.c: change update_ref to use a transaction
1378  . branch.c: use ref transaction for all ref updates
1379  . fast-import.c: change update_branch to use ref transactions
1380  . sequencer.c: use ref transactions for all ref updates
1381  . commit.c: use ref transactions for updates
1382  . replace.c: use the ref transaction functions for updates
1383  . tag.c: use ref transactions when doing updates
1384  . refs.c: ref_transaction_delete to check for error and return status
1385  . refs.c: change ref_transaction_create to do error checking and return status
1386  . refs.c: change ref_transaction_update() to do error checking and return status
1387  . refs.c: remove the onerr argument to ref_transaction_commit
1388  . refs.c: make update_ref_write update a strbuf on failure
1389  . update-ref.c: log transaction error from the update_ref
1390  . refs.c: make ref_update_reject_duplicates take a strbuf argument for errors
1391  . refs.c: add a strbuf argument to ref_transaction_commit for error logging
1392  . refs.c: allow passing NULL to ref_transaction_free
1393  . refs.c: constify the sha arguments for ref_transaction_create|delete|update
1394  (this branch uses mh/ref-transaction; is tangled with rs/ref-transaction-2.)
1396  Temporarily dropped; there are a lot of conflicts with topics in
1397  flight, and the topic is still being worked on with frequent
1398  rerolls.  Will pick up a reroll once things settle down a bit after
1399  the release.