What's cooking (2014/06 #02)
[git/jrn.git] / whats-cooking.txt
blobabd34101f40227c1d9ab0abda9f2e05b57f562bc
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jun 2014, #02; Fri, 6)
4 X-master-at: 0953113bb5687f42bcdfc3d20dd3a125784ad383
5 X-next-at: 41885497b0c577b31af733b8c4b05bcded1912bd
7 What's cooking in git.git (Jun 2014, #02; Fri, 6)
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 second batch of topics, all of which have been cooking for quite
15 a while on the 'next' branch, have been merged to 'master'.
17 I am aware of a handful of multi-patch topics sent to the list the
18 past week that have not been picked up, and I won't be picking them
19 up yet, before we have a chance to first have some topics that have
20 been cooking in 'next' during the previous cycle merged to 'master'
21 and then rewind the tip of 'next'.  At that point, I may have to ask
22 for them to be rebased on top of the updated 'master' to reduce
23 conflicts.  Thanks for your patience.
25 You can find the changes described here in the integration branches
26 of the repositories listed at
28     http://git-blame.blogspot.com/p/git-public-repositories.html
30 --------------------------------------------------
31 [Graduated to "master"]
33 * bc/blame-crlf-test (2014-05-08) 1 commit
34   (merged to 'next' on 2014-05-14 at b819505)
35  + blame: correctly handle files regardless of autocrlf
37  If a file contained CRLF line endings in a repository with
38  core.autocrlf=input, then blame always marked lines as "Not
39  Committed Yet", even if they were unmodified.
42 * da/imap-send-use-credential-helper (2014-04-29) 1 commit
43   (merged to 'next' on 2014-05-12 at b0698a5)
44  + imap-send: use git-credential
46  "git imap-send" learned to ask the credential helper for
47  authentication material.
50 * dk/blame-reorg (2014-04-28) 1 commit
51   (merged to 'next' on 2014-05-14 at 354a0e3)
52  + blame: large-scale performance rewrite
54  "git blame" has been optimized greatly by reorganising the data
55  structure that is used to keep track of the work to be done, thanks
56  to David Karstrup <dak@gnu.org>.
59 * dk/raise-core-deltabasecachelimit (2014-05-06) 1 commit
60   (merged to 'next' on 2014-05-12 at 97ec92a)
61  + Bump core.deltaBaseCacheLimit to 96m
63  The `core.deltabasecachelimit` used to default to 16 MiB, but this
64  proved to be too small, and has been bumped to 96 MiB.
67 * dt/merge-recursive-case-insensitive (2014-05-08) 2 commits
68   (merged to 'next' on 2014-05-12 at 820d524)
69  + mv: allow renaming to fix case on case insensitive filesystems
70  + merge-recursive.c: fix case-changing merge bug
72  On a case insensitive filesystem, merge-recursive incorrectly
73  deleted the file that is to be renamed to a name that is the same
74  except for case differences.
77 * ep/shell-assign-and-export-vars (2014-05-23) 2 commits
78   (merged to 'next' on 2014-05-23 at 7699c0e)
79  + scripts: more "export VAR=VALUE" fixes
80  + scripts: "export VAR=VALUE" construct is not portable
83 * fc/status-printf-squelch-format-zero-length-warnings (2014-05-07) 1 commit
84   (merged to 'next' on 2014-05-12 at 6b04e23)
85  + silence a bunch of format-zero-length warnings
88 * jc/coding-guidelines (2014-05-20) 9 commits
89   (merged to 'next' on 2014-05-23 at bb351fc)
90  + CodingGuidelines: avoid "test <cond> -a/-o <cond>"
91   (merged to 'next' on 2014-05-12 at e1fcf62)
92  + CodingGuidelines: on splitting a long line
93  + CodingGuidelines: on comparison
94  + CodingGuidelines: do not call the conditional statement "if()"
95  + CodingGuidelines: give an example for shell function preamble
96  + CodingGuidelines: give an example for control statements
97  + CodingGuidelines: give an example for redirection
98  + CodingGuidelines: give an example for case/esac statement
99  + CodingGuidelines: once it is in, it is not worth the code churn
101  Some people need these things spelled out, unable to follow advices
102  given by others when they fail to imitate the surrounding existing
103  code.
106 * jd/subtree (2014-05-13) 6 commits
107   (merged to 'next' on 2014-05-14 at 977db74)
108  + contrib/subtree: allow adding an annotated tag
109   (merged to 'next' on 2014-05-07 at 81b375d)
110  + contrib/subtree/Makefile: clean up rule for "clean"
111  + contrib/subtree/Makefile: clean up rules to generate documentation
112  + contrib/subtree/Makefile: s/libexecdir/gitexecdir/
113  + contrib/subtree/Makefile: use GIT-VERSION-FILE
114  + contrib/subtree/Makefile: scrap unused $(gitdir)
116  Clean-up build procedure of subtree in contrib/.
119 * je/pager-do-not-recurse (2014-04-28) 1 commit
120   (merged to 'next' on 2014-05-12 at 32de470)
121  + pager: do allow spawning pager recursively
123  We used to unconditionally disable the pager in the pager process
124  we spawn to feed out output, but that prevented people who want to
125  run "less" within "less" from doing so.
128 * jj/command-line-adjective (2014-05-21) 1 commit
129   (merged to 'next' on 2014-05-23 at fe136c8)
130  + Documentation: use "command-line" when used as a compound adjective, and fix other minor grammatical issues
133 * jk/commit-C-pick-empty (2014-04-28) 1 commit
134   (merged to 'next' on 2014-05-12 at c187e1e)
135  + commit: do not complain of empty messages from -C
137  "git commit --allow-empty-message -C $commit" did not work when the
138  commit did not have any log message.
141 * jk/grep-tell-run-command-to-cd-when-running-pager (2014-05-07) 1 commit
142   (merged to 'next' on 2014-05-12 at 065cb22)
143  + grep: use run-command's "dir" option for --open-files-in-pager
146 * jk/index-pack-report-missing (2014-05-12) 1 commit
147   (merged to 'next' on 2014-05-14 at 72d40e1)
148  + index-pack: distinguish missing objects from type errors
151 * jk/squelch-compiler-warning-from-funny-error-macro (2014-05-06) 2 commits
152   (merged to 'next' on 2014-05-12 at d9daf8d)
153  + let clang use the constant-return error() macro
154  + inline constant return from error() function
157 * jk/utf8-switch-between-nfd-and-nfc (2014-04-29) 1 commit
158   (merged to 'next' on 2014-05-12 at 948823c)
159  + t3910: show failure of core.precomposeunicode with decomposed filenames
161  Document a known breakage with a test.
164 * jn/contrib-remove-diffall (2014-05-09) 1 commit
165   (merged to 'next' on 2014-05-12 at 416009e)
166  + contrib: remove git-diffall
168  Spring cleaning of contrib/.
171 * jn/contrib-remove-vim (2014-05-09) 1 commit
172   (merged to 'next' on 2014-05-12 at 9e727c8)
173  + contrib: remove vim support instructions
175  Spring cleaning of contrib/.
178 * jn/test-lint-unmoor (2014-05-23) 1 commit
179   (merged to 'next' on 2014-05-23 at aa997bc)
180  + test-lint: find unportable sed, echo, test, and export usage after &&
183 * mc/git-p4-prepare-p4-only (2014-05-27) 1 commit
184   (merged to 'next' on 2014-05-27 at 71572fe)
185  + git-p4: Do not include diff in spec file when just preparing p4
188 * mk/show-s-no-extra-blank-line-for-merges (2014-05-15) 1 commit
189   (merged to 'next' on 2014-05-21 at 3b98b35)
190  + git-show: fix 'git show -s' to not add extra terminator after merge commit
192  "git show -s" (i.e. show log message only) used to incorrectly emit
193  an extra blank line after a merge commit.
196 * mm/pager-less-sans-S (2014-05-07) 1 commit
197   (merged to 'next' on 2014-05-07 at 66ce999)
198  + pager: remove 'S' from $LESS by default
200  Since the very beginning of Git, we gave the LESS environment a
201  default value "FRSX" when we spawn "less" as the pager.  "S" (chop
202  long lines instead of wrapping) has been removed from this default
203  set of options, because it is more or less a personal taste thing,
204  as opposed to others that have good justifications (i.e. "R" is
205  very much justified because many kinds of output we produce are
206  colored and "FX" is justified because output we produce is often
207  shorter than a page).
210 * mt/rebase-i-keep-empty-test (2014-05-19) 1 commit
211   (merged to 'next' on 2014-05-21 at d87d266)
212  + rebase --keep-empty -i: add test
215 * nd/status-auto-comment-char (2014-05-19) 2 commits
216   (merged to 'next' on 2014-05-21 at f762e62)
217  + commit: allow core.commentChar=auto for character auto selection
218  + config: be strict on core.commentChar
220  The `core.commentChar` configuration variable is used to specify a
221  custom comment character other than the default "#" to be used in
222  the commit log editor.  This can be set to `auto` to attempt to
223  choose a different character that does not conflict with what
224  already starts a line in the message being edited for cases like
225  "git commit --amend".
228 * rs/reflog-exists (2014-05-08) 2 commits
229   (merged to 'next' on 2014-05-12 at 24a1d01)
230  + checkout.c: use ref_exists instead of file_exist
231  + refs.c: add new functions reflog_exists and delete_reflog
234 * sk/spawn-less-case-insensitively-from-grep-O-i (2014-05-15) 1 commit
235   (merged to 'next' on 2014-05-21 at eb28305)
236  + git grep -O -i: if the pager is 'less', pass the '-I' option
238  "git grep -O" to show the lines that hit in the pager did not work
239  well with case insensitive search.  We now spawn "less" with its
240  "-I" option when it is used as the pager (which is the default).
243 * sk/submodules-absolute-path-on-windows (2014-05-08) 1 commit
244   (merged to 'next' on 2014-05-14 at 83a05d9)
245  + Revert "submodules: fix ambiguous absolute paths under Windows"
248 * ss/howto-manage-trunk (2014-05-28) 1 commit
249   (merged to 'next' on 2014-05-28 at 5318336)
250  + How to keep a project's canonical history correct.
253 * tb/unicode-6.3-zero-width (2014-05-12) 2 commits
254   (merged to 'next' on 2014-05-14 at 08e0171)
255  + utf8: make it easier to auto-update git_wcwidth()
256  + utf8.c: use a table for double_width
258  Update the logic to compute the display width needed for utf8
259  strings and allow us to more easily maintain the tables used in
260  that logic.
262  We may want to let the users choose if codepoints with ambiguous
263  widths are treated as a double or single width in a follow-up patch.
266 * tg/tag-state-tag-name-in-editor-hints (2014-05-07) 1 commit
267   (merged to 'next' on 2014-05-12 at 0b7db32)
268  + builtin/tag.c: show tag name to hint in the message editor
270  "git tag" when editing the tag message shows the name of the tag
271  being edited as a comment in the editor.
274 * tl/relax-in-poll-emulation (2014-04-29) 1 commit
275   (merged to 'next' on 2014-05-12 at 9369b08)
276  + compat/poll: sleep 1 millisecond to avoid busy wait
279 * wg/svn-fe-style-fixes (2014-05-12) 1 commit
280   (merged to 'next' on 2014-05-12 at 88c0e0d)
281  + svn-fe: conform to pep8
284 * wk/doc-clarify-upstream (2014-05-13) 1 commit
285   (merged to 'next' on 2014-05-14 at 6c8fb52)
286  + Documentation: mention config sources for @{upstream}
288 --------------------------------------------------
289 [New Topics]
291 * jc/rev-parse-argh-dashed-multi-words (2014-06-04) 1 commit
292   (merged to 'next' on 2014-06-06 at 8b04440)
293  + update-index: fix segfault with missing --cacheinfo argument
295  "update-index --cacheinfo" in 2.0 crashes on a malformed command line.
297  Will merge to 'master'.
300 * sk/test-cmp-bin (2014-06-04) 1 commit
301   (merged to 'next' on 2014-06-06 at 112ae4b)
302  + t5000, t5003: do not use test_cmp to compare binary files
304  Will merge to 'master'.
307 * dt/refs-check-refname-component-optim (2014-06-05) 1 commit
308   (merged to 'next' on 2014-06-06 at e85fb57)
309  + refs.c: optimize check_refname_component()
311  Will merge to 'master'.
314 * jm/dedup-test-config (2014-06-05) 1 commit
315   (merged to 'next' on 2014-06-06 at 443f096)
316  + t/t7810-grep.sh: remove duplicate test_config()
318  Will merge to 'master'.
320 --------------------------------------------------
321 [Stalled]
323 * nd/multiple-work-trees (2014-03-25) 28 commits
324  - count-objects: report unused files in $GIT_DIR/repos/...
325  - gc: support prune --repos
326  - gc: style change -- no SP before closing bracket
327  - prune: strategies for linked checkouts
328  - checkout: detach if the branch is already checked out elsewhere
329  - checkout: clean up half-prepared directories in --to mode
330  - checkout: support checking out into a new working directory
331  - use new wrapper write_file() for simple file writing
332  - wrapper.c: wrapper to open a file, fprintf then close
333  - setup.c: support multi-checkout repo setup
334  - setup.c: detect $GIT_COMMON_DIR check_repository_format_gently()
335  - setup.c: convert check_repository_format_gently to use strbuf
336  - setup.c: detect $GIT_COMMON_DIR in is_git_directory()
337  - setup.c: convert is_git_directory() to use strbuf
338  - git-stash: avoid hardcoding $GIT_DIR/logs/....
339  - *.sh: avoid hardcoding $GIT_DIR/hooks/...
340  - git-sh-setup.sh: use rev-parse --git-path to get $GIT_DIR/objects
341  - $GIT_COMMON_DIR: a new environment variable
342  - commit: use SEQ_DIR instead of hardcoding "sequencer"
343  - fast-import: use git_path() for accessing .git dir instead of get_git_dir()
344  - reflog: avoid constructing .lock path with git_path
345  - *.sh: respect $GIT_INDEX_FILE
346  - git_path(): be aware of file relocation in $GIT_DIR
347  - path.c: group git_path(), git_pathdup() and strbuf_git_path() together
348  - path.c: rename vsnpath() to do_git_path()
349  - git_snpath(): retire and replace with strbuf_git_path()
350  - path.c: make get_pathname() call sites return const char *
351  - path.c: make get_pathname() return strbuf instead of static buffer
353  A replacement for contrib/workdir/git-new-workdir that does not
354  rely on symbolic links and make sharing of objects and refs safer
355  by making the borrowee and borrowers aware of each other.
358 * mh/lockfile (2014-04-15) 25 commits
359  - trim_last_path_elm(): replace last_path_elm()
360  - resolve_symlink(): take a strbuf parameter
361  - resolve_symlink(): use a strbuf for internal scratch space
362  - change lock_file::filename into a strbuf
363  - commit_lock_file(): use a strbuf to manage temporary space
364  - try_merge_strategy(): use a statically-allocated lock_file object
365  - try_merge_strategy(): remove redundant lock_file allocation
366  - struct lock_file: declare some fields volatile
367  - lockfile: avoid transitory invalid states
368  - commit_lock_file(): die() if called for unlocked lockfile object
369  - commit_lock_file(): inline temporary variable
370  - remove_lock_file(): call rollback_lock_file()
371  - lock_file(): exit early if lockfile cannot be opened
372  - write_packed_entry_fn(): convert cb_data into a (const int *)
373  - prepare_index(): declare return value to be (const char *)
374  - delete_ref_loose(): don't muck around in the lock_file's filename
375  - cache.h: define constants LOCK_SUFFIX and LOCK_SUFFIX_LEN
376  - lockfile.c: document the various states of lock_file objects
377  - lock_file(): always add lock_file object to lock_file_list
378  - hold_lock_file_for_append(): release lock on errors
379  - lockfile: unlock file if lockfile permissions cannot be adjusted
380  - rollback_lock_file(): set fd to -1
381  - rollback_lock_file(): do not clear filename redundantly
382  - api-lockfile: expand the documentation
383  - unable_to_lock_die(): rename function from unable_to_lock_index_die()
385  Refactor and fix corner-case bugs in the lockfile API, all looked
386  sensible.
388  Expecting a reroll.
391 * bg/rebase-off-of-previous-branch (2014-04-16) 1 commit
392  - git-rebase: print name of rev when using shorthand
394  Teach "git rebase -" to report the concrete name of the branch
395  (i.e. the previous one).
397  But it stops short and does not do the same for "git rebase @{-1}".
398  Expecting a reroll.
401 * tr/merge-recursive-index-only (2014-02-05) 3 commits
402  - merge-recursive: -Xindex-only to leave worktree unchanged
403  - merge-recursive: internal flag to avoid touching the worktree
404  - merge-recursive: remove dead conditional in update_stages()
405  (this branch is used by tr/remerge-diff.)
407  Will hold.
410 * tr/remerge-diff (2014-02-26) 5 commits
411  . log --remerge-diff: show what the conflict resolution changed
412  . name-hash: allow dir hashing even when !ignore_case
413  . merge-recursive: allow storing conflict hunks in index
414  . revision: fold all merge diff variants into an enum merge_diff_mode
415  . combine-diff: do not pass revs->dense_combined_merges redundantly
416  (this branch uses tr/merge-recursive-index-only.)
418  "log -p" output learns a new way to let users inspect a merge
419  commit by showing the differences between the automerged result
420  with conflicts the person who recorded the merge would have seen
421  and the final conflict resolution that was recorded in the merge.
423  Needs to be rebased, now kb/fast-hashmap topic is in.
426 * jk/makefile (2014-02-05) 16 commits
427  . FIXUP
428  . move LESS/LV pager environment to Makefile
429  . Makefile: teach scripts to include make variables
430  . FIXUP
431  . Makefile: auto-build C strings from make variables
432  . Makefile: drop *_SQ variables
433  . FIXUP
434  . Makefile: add c-quote helper function
435  . Makefile: introduce sq function for shell-quoting
436  . Makefile: always create files via make-var
437  . Makefile: store GIT-* sentinel files in MAKE/
438  . Makefile: prefer printf to echo for GIT-*
439  . Makefile: use tempfile/mv strategy for GIT-*
440  . Makefile: introduce make-var helper function
441  . Makefile: fix git-instaweb dependency on gitweb
442  . Makefile: drop USE_GETTEXT_SCHEME from GIT-CFLAGS
444  Simplify the Makefile rules and macros that exist primarily for
445  quoting purposes, and make it easier to robustly express the
446  dependency rules.
448  Expecting a reroll.
451 * po/everyday-doc (2014-01-27) 1 commit
452  - Make 'git help everyday' work
454  This may make the said command to emit something, but the source is
455  not meant to be formatted into a manual pages to begin with, and
456  also its contents are a bit stale.  It may be a good first step in
457  the right direction, but needs more work to at least get the
458  mark-up right before public consumption.
460  Will hold.
463 * jk/branch-at-publish-rebased (2014-01-17) 5 commits
464  . t1507 (rev-parse-upstream): fix typo in test title
465  . implement @{publish} shorthand
466  . branch_get: provide per-branch pushremote pointers
467  . branch_get: return early on error
468  . sha1_name: refactor upstream_mark
470  Give an easier access to the tracking branches from "other" side in
471  a triangular workflow by introducing B@{publish} that works in a
472  similar way to how B@{upstream} does.
474  Meant to be used as a basis for whatever Ram wants to build on.
476  Ejected from 'pu' to unclutter.
479 * fc/publish-vs-upstream (2014-04-21) 8 commits
480  . sha1_name: add support for @{publish} marks
481  . sha1_name: simplify track finding
482  . sha1_name: cleanup interpret_branch_name()
483  . branch: display publish branch
484  . push: add --set-publish option
485  . branch: add --set-publish-to option
486  . Add concept of 'publish' branch
487  . t5516 (fetch-push): fix test restoration
489  Add branch@{publish}; it seems that this is somewhat different from
490  Ram and Peff started working on.  At least the tip needs to be
491  rerolled not to squat on @{p} which @{push} and possibly @{pull}
492  may want to share.
494  Ejected from 'pu' to unclutter.
497 * rb/merge-prepare-commit-msg-hook (2014-01-10) 4 commits
498  - merge: drop unused arg from abort_commit method signature
499  - merge: make prepare_to_commit responsible for write_merge_state
500  - t7505: ensure cleanup after hook blocks merge
501  - t7505: add missing &&
503  Expose more merge states (e.g. $GIT_DIR/MERGE_MODE) to hooks that
504  run during "git merge".  The log message stresses too much on one
505  hook, prepare-commit-msg, but it would equally apply to other hooks
506  like post-merge, I think.
508  Waiting for a reroll.
511 * jl/submodule-recursive-checkout (2013-12-26) 5 commits
512  - Teach checkout to recursively checkout submodules
513  - submodule: teach unpack_trees() to update submodules
514  - submodule: teach unpack_trees() to repopulate submodules
515  - submodule: teach unpack_trees() to remove submodule contents
516  - submodule: prepare for recursive checkout of submodules
518  An RFCv2 exists ($gmane/241455) with sizable review comments.
519  Expecting a reroll.
522 * jc/graph-post-root-gap (2013-12-30) 3 commits
523  - WIP: document what we want at the end
524  - graph: remove unused code a bit
525  - graph: stuff the current commit into graph->columns[]
527  This was primarily a RFH ($gmane/239580).
530 * np/pack-v4 (2013-09-18) 90 commits
531  . packv4-parse.c: add tree offset caching
532  . t1050: replace one instance of show-index with verify-pack
533  . index-pack, pack-objects: allow creating .idx v2 with .pack v4
534  . unpack-objects: decode v4 trees
535  . unpack-objects: allow to save processed bytes to a buffer
536  - ...
538  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
539  primarily for wider distribution of the preview edition.
541  Needs to be rebased, now the pack-bitmap series is in.
544 * tg/perf-lib-test-perf-cleanup (2013-09-19) 2 commits
545  - perf-lib: add test_perf_cleanup target
546  - perf-lib: split starting the test from the execution
548  Add test_perf_cleanup shell function to the perf suite, that allows
549  the script writers to define a test with a clean-up action.
551  Will hold.
554 * jc/show-branch (2014-03-24) 5 commits
555  - show-branch: use commit slab to represent bitflags of arbitrary width
556  - show-branch.c: remove "all_mask"
557  - show-branch.c: abstract out "flags" operation
558  - show-branch.c: lift all_mask/all_revs to a global static
559  - show-branch.c: update comment style
561  Waiting for the final step to lift the hard-limit before sending it out.
563 --------------------------------------------------
564 [Cooking]
566 * jl/status-added-submodule-is-never-ignored (2014-04-07) 2 commits
567   (merged to 'next' on 2014-06-06 at a2d0105)
568  + commit -m: commit staged submodules regardless of ignore config
569  + status/commit: show staged submodules regardless of ignore config
571  submodule.*.ignore and diff.ignoresubmodules are used to ignore all
572  submodule changes in "diff" output, but it can be confusing to
573  apply these configuration values to status and commit.
575  This is a backward-incompatible change, but should be so in a good
576  way (aka bugfix).
578  Will merge to 'master'.
581 * jl/git-gui-show-added-submodule-changes (2014-04-15) 1 commit
582  - git-gui: show staged submodules regardless of ignore config
584  Tentatively queued what I expect to receive via Pat Thoyts.
587 * jl/gitk-show-added-submodule-changes (2014-04-15) 3 commits
588  - gitk: show staged submodules regardless of ignore config
589  - gitk: Merge branch 'new' of https://github.com/vnwildman/gitk
590  - l10n: Init Vietnamese translation
592  Tentatively queued what I expect to receive via Paul Mackerras.
595 * bg/xcalloc-nmemb-then-size (2014-05-27) 12 commits
596   (merged to 'next' on 2014-06-06 at 7058fe5)
597  + transport-helper.c: rearrange xcalloc arguments
598  + remote.c: rearrange xcalloc arguments
599  + reflog-walk.c: rearrange xcalloc arguments
600  + pack-revindex.c: rearrange xcalloc arguments
601  + notes.c: rearrange xcalloc arguments
602  + imap-send.c: rearrange xcalloc arguments
603  + http-push.c: rearrange xcalloc arguments
604  + diff.c: rearrange xcalloc arguments
605  + config.c: rearrange xcalloc arguments
606  + commit.c: rearrange xcalloc arguments
607  + builtin/remote.c: rearrange xcalloc arguments
608  + builtin/ls-remote.c: rearrange xcalloc arguments
610  Like calloc(3), xcalloc() takes nmemb and then size.
612  Will merge to 'master'.
615 * jk/complete-merge-pull (2014-05-27) 2 commits
616   (merged to 'next' on 2014-06-06 at f88b8e3)
617  + completion: add missing options for git-merge
618  + completion: add a note that merge options are shared
620  The completion code did not know about quite a few options that are
621  common between "git merge" and "git pull", and a couple of options
622  unique to "git merge".
624  Will merge to 'master'.
627 * jl/remote-rm-prune (2014-05-27) 3 commits
628   (merged to 'next' on 2014-06-06 at d3bde27)
629  + remote prune: optimize "dangling symref" check/warning
630  + remote: repack packed-refs once when deleting multiple refs
631  + remote rm: delete remote configuration as the last
633  "git remote rm" and "git remote prune" can involve removing many
634  refs at once, which is not a very efficient thing to do when very
635  many refs exist in the packed-refs file.
637  Will merge to 'master'.
640 * jm/instaweb-apache-24 (2014-05-27) 1 commit
641   (merged to 'next' on 2014-06-06 at ab6e494)
642  + git-instaweb: add support for Apache 2.4
644  Will merge to 'master'.
647 * jm/t9138-style-fix (2014-05-27) 1 commit
648   (merged to 'next' on 2014-06-06 at 552098b)
649  + t9138-git-svn-authors-prog.sh fixups
651  Will merge to 'master'.
654 * nd/daemonize-gc (2014-05-27) 1 commit
655   (merged to 'next' on 2014-06-06 at 638c6ca)
656  + gc --auto: do not lock refs in the background
658  "git gc --auto" was recently changed to run in the background to
659  give control back early to the end-user sitting in front of the
660  terminal, but it forgot that housekeeping involving reflogs should
661  be done without other processes competing for accesses to the refs.
663  Will merge to 'master'.
666 * ow/config-mailmap-pathname (2014-05-27) 1 commit
667   (merged to 'next' on 2014-06-06 at a686803)
668  + config: respect '~' and '~user' in mailmap.file
670  mailmap.file configuration names a pathname, hence should honor
671  ~/path and ~user/path as its value.
673  Will merge to 'master'.
676 * rh/prompt-tests (2014-06-05) 11 commits
677  - t9904: new __git_ps1 tests for Zsh
678  - test-lib: make it possible to override how test code is eval'd
679  - lib-prompt-tests.sh: add variable for string that encodes percent in PS1
680  - lib-prompt-tests.sh: put all tests inside a function
681  - t9903: move prompt tests to a new lib-prompt-tests.sh file
682  - t9903: move PS1 color code variable definitions to lib-bash.sh
683  - t9903: include "Bash" in test names via new $shellname var
684  - t9903: run pc mode tests again with PS1 expansion disabled
685  - t9903: move test name prefix to a separate variable
686  - t9903: put the Bash pc mode prompt test cases in a function
687  - t9903: remove Zsh test from the suite of Bash prompt tests
689  Maybe a reroll to limit the damage to test_eval_ is coming?
692 * jm/doc-wording-tweaks (2014-05-28) 1 commit
693   (merged to 'next' on 2014-06-06 at 4dca23e)
694  + Documentation: wording fixes in the user manual and glossary
696  Will merge to 'master'.
699 * jn/gitweb-utf8-in-links (2014-05-27) 1 commit
700  - gitweb: Harden UTF-8 handling in generated links
702  $gmane/250758?
705 * mn/sideband-no-ansi (2014-06-02) 1 commit
706   (merged to 'next' on 2014-06-06 at f61fc73)
707  + sideband.c: do not use ANSI control sequence on non-terminal
709  Will merge to 'master'.
712 * jc/fetch-push-refmap (2014-06-05) 9 commits
713  - fetch: allow explicit --refmap to override configuration
714  - fetch doc: add a section on configured remote-tracking branches
715  - fetch doc: remove "short-cut" section
716  - fetch doc: update refspec format description
717  - fetch doc: on pulling multiple refspecs
718  - fetch doc: remove notes on outdated "mixed layout"
719  - fetch doc: update note on '+' in front of the refspec
720  - fetch doc: move FETCH_HEAD material lower and add an example
721  - fetch doc: update introductory part for clarity
723  Will merge to 'next'.
726 * jc/shortlog-ref-exclude (2014-06-04) 1 commit
727   (merged to 'next' on 2014-06-06 at a358cbe)
728  + shortlog: allow --exclude=<glob> to be passed
730  Will merge to 'master'.
733 * lt/log-auto-decorate (2014-05-30) 1 commit
734   (merged to 'next' on 2014-06-06 at d451fc1)
735  + git log: support "auto" decorations
737  Will merge to 'master'.
740 * lt/request-pull (2014-06-02) 1 commit
741   (merged to 'next' on 2014-06-06 at ad4d79d)
742  + fix brown paper bag breakage in t5150-request-pull.sh
744  Will merge to 'master'.
747 * na/no-http-test-in-the-middle (2014-05-30) 1 commit
748   (merged to 'next' on 2014-06-06 at e195615)
749  + t5538: move http push tests out to t5542
751  Will merge to 'master'.
754 * pb/trim-trailing-spaces (2014-06-02) 1 commit
755   (merged to 'next' on 2014-06-06 at 741efc2)
756  + dir.c:trim_trailing_spaces(): fix for " \ " sequence
758  Fix an error in parsing of .gitignore files that use a trailing
759  "\ " to mark pathnames that end with a SP.
761  Will merge to 'master'.
764 * rs/mailinfo-header-cmp (2014-06-02) 1 commit
765   (merged to 'next' on 2014-06-06 at 5e856f4)
766  + mailinfo: use strcmp() for string comparison
768  Avoid running over the end of header string while parsing an
769  incoming e-mail message to extract the patch.
771  Will merge to 'master'.
774 * rs/pack-objects-no-unnecessary-realloc (2014-06-02) 1 commit
775   (merged to 'next' on 2014-06-06 at a39f7ad)
776  + pack-objects: use free()+xcalloc() instead of xrealloc()+memset()
778  Avoid unnecessary copy of previous contents when extending the
779  hashtable used in pack-objects.
781  Will merge to 'master'.
784 * ss/userdiff-update-csharp-java (2014-06-02) 2 commits
785  - userdiff: support Java try keyword
786  - userdiff: support C# async methods and correct C# keywords
789 * jk/error-resolve-conflict-advice (2014-06-03) 2 commits
790   (merged to 'next' on 2014-06-06 at f2e7bbf)
791  + error_resolve_conflict: drop quotations around operation
792  + error_resolve_conflict: rewrap advice message
794  Will merge to 'master'.
797 * rs/read-ref-at (2014-06-03) 1 commit
798   (merged to 'next' on 2014-06-06 at 30f9896)
799  + refs.c: change read_ref_at to use the reflog iterators
801  Will merge to 'master'.
804 * sh/enable-preloadindex (2014-06-03) 1 commit
805   (merged to 'next' on 2014-06-06 at 0f0d7da)
806  + environment.c: enable core.preloadindex by default
808  Will merge to 'master'.
811 * ta/string-list-init (2014-06-06) 1 commit
812   (merged to 'next' on 2014-06-06 at f0f2abc)
813  + string-list: spell all values out that are given to a string_list initializer
815  Will merge to 'master'.
818 * jk/daemon-tolower (2014-05-23) 1 commit
819   (merged to 'next' on 2014-05-23 at 23c796d)
820  + daemon/config: factor out duplicate xstrdup_tolower
822  Will merge to 'master'.
825 * jk/strbuf-tolower (2014-05-23) 1 commit
826   (merged to 'next' on 2014-05-23 at b172137)
827  + strbuf: add strbuf_tolower function
829  Will merge to 'master'.
832 * jk/http-errors (2014-05-27) 8 commits
833   (merged to 'next' on 2014-06-06 at 1004dae)
834  + http: default text charset to iso-8859-1
835  + remote-curl: reencode http error messages
836  + strbuf: add strbuf_reencode helper
837  + http: optionally extract charset parameter from content-type
838  + http: extract type/subtype portion of content-type
839  + t5550: test display of remote http error messages
840  + t/lib-httpd: use write_script to copy CGI scripts
841  + test-lib: preserve GIT_CURL_VERBOSE from the environment
843  Propagate the error messages from the webserver better to the
844  client coming over the HTTP transport.
846  Will merge to 'master'.
849 * jm/format-patch-mail-sig (2014-05-27) 2 commits
850   (merged to 'next' on 2014-06-06 at 0c8d703)
851  + format-patch: add "--signature-file=<file>" option
852  + format-patch: make newline after signature conditional
854  Will merge to 'master'.
857 * sk/wincred (2014-05-14) 2 commits
858   (merged to 'next' on 2014-05-21 at a3b9ca3)
859  + wincred: avoid overwriting configured variables
860  + wincred: add install target
862  Will merge to 'master'.
865 * as/pretty-truncate (2014-05-21) 5 commits
866   (merged to 'next' on 2014-05-23 at 94d4c51)
867  + pretty.c: format string with truncate respects logOutputEncoding
868  + t4205, t6006: add tests that fail with i18n.logOutputEncoding set
869  + t4205 (log-pretty-format): use `tformat` rather than `format`
870  + t4041, t4205, t6006, t7102: don't hardcode tested encoding value
871  + t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
873  Will merge to 'master'.
876 * cc/replace-graft (2014-06-05) 4 commits
877  - contrib: add convert-grafts-to-replace-refs.sh
878  - Documentation: replace: add --graft option
879  - replace: add test for --graft
880  - replace: add --graft option
881  (this branch uses cc/replace-edit.)
884 * jk/argv-array-for-child-process (2014-05-15) 7 commits
885   (merged to 'next' on 2014-05-21 at 5b2fa64)
886  + argv-array: drop "detach" code
887  + get_importer: use run-command's internal argv_array
888  + get_exporter: use argv_array
889  + get_helper: use run-command's internal argv_array
890  + git_connect: use argv_array
891  + run_column_filter: use argv_array
892  + run-command: store an optional argv_array
894  Will merge to 'master'.
897 * jk/diff-files-assume-unchanged (2014-05-15) 1 commit
898   (merged to 'next' on 2014-05-21 at 142d2c8)
899  + run_diff_files: do not look at uninitialized stat data
901  Will merge to 'master'.
904 * jk/report-fail-to-read-objects-better (2014-05-15) 1 commit
905   (merged to 'next' on 2014-05-21 at 77c89fe)
906  + open_sha1_file: report "most interesting" errno
908  Will merge to 'master'.
911 * rr/rebase-autostash-fix (2014-05-20) 2 commits
912   (merged to 'next' on 2014-05-21 at ca4aa40)
913  + rebase -i: test "Nothing to do" case with autostash
914  + rebase -i: handle "Nothing to do" case with autostash
916  Will merge to 'master'.
919 * sk/windows-unc-path (2014-05-20) 1 commit
920   (merged to 'next' on 2014-05-21 at d1f1350)
921  + Windows: Allow using UNC path for git repository
923  Will merge to 'master'.
926 * jk/diff-follow-must-take-one-pathspec (2014-05-20) 1 commit
927   (merged to 'next' on 2014-05-23 at 4653133)
928  + move "--follow needs one pathspec" rule to diff_setup_done
930  Will merge to 'master'.
933 * ab/add-interactive-show-diff-func-name (2014-05-12) 2 commits
934  - SQUASH??? git-add--interactive: Preserve diff heading when splitting hunks
935  - git-add--interactive: Preserve diff heading when splitting hunks
937  Waiting for a reroll.
940 * jk/do-not-run-httpd-tests-as-root (2014-05-12) 1 commit
941   (merged to 'next' on 2014-05-21 at 676392b)
942  + t/lib-httpd: require SANITY prereq
944  Will merge to 'master'.
947 * cb/byte-order (2014-05-30) 3 commits
948   (merged to 'next' on 2014-05-30 at 857617e)
949  + compat/bswap.h: fix endianness detection
950   (merged to 'next' on 2014-05-07 at f55c040)
951  + compat/bswap.h: restore preference __BIG_ENDIAN over BIG_ENDIAN
952  + compat/bswap.h: detect endianness on more platforms that don't use BYTE_ORDER
954  Compatibility enhancement for Solaris.
956  Will merge to 'master'.
959 * cc/replace-edit (2014-05-19) 10 commits
960   (merged to 'next' on 2014-05-19 at fcdd83f)
961  + Documentation: replace: describe new --edit option
962  + replace: add --edit to usage string
963  + replace: add tests for --edit
964  + replace: die early if replace ref already exists
965  + replace: refactor checking ref validity
966  + replace: make sure --edit results in a different object
967   (merged to 'next' on 2014-05-12 at 71449bf)
968  + replace: add --edit option
969  + replace: factor object resolution out of replace_object
970  + replace: use OPT_CMDMODE to handle modes
971  + replace: refactor command-mode determination
972  (this branch is used by cc/replace-graft.)
974  "git replace" learns a new "--edit" option.
976  Will merge to 'master'.
979 * mt/send-email-cover-to-cc (2014-06-04) 3 commits
980   (merged to 'next' on 2014-06-06 at 583f5fc)
981  + t9001: avoid non-portable '\n' with sed
982   (merged to 'next' on 2014-05-12 at b696006)
983  + test/send-email: to-cover, cc-cover tests
984  + git-send-email: two new options: to-cover, cc-cover
986  Will merge to 'master'.
989 * nd/split-index (2014-06-02) 34 commits
990  - fixup! read-cache: new API write_locked_index instead of write_index/write_cache
991  - SQUASH???
992  - t1700: new tests for split-index mode
993  - t2104: make sure split index mode is off for the version test
994  - read-cache: force split index mode with GIT_TEST_SPLIT_INDEX
995  - read-tree: note about dropping split-index mode or index version
996  - read-tree: force split-index mode off on --index-output
997  - rev-parse: add --shared-index-path to get shared index path
998  - update-index --split-index: do not split if $GIT_DIR is read only
999  - update-index: new options to enable/disable split index mode
1000  - split-index: strip pathname of on-disk replaced entries
1001  - split-index: do not invalidate cache-tree at read time
1002  - split-index: the reading part
1003  - split-index: the writing part
1004  - read-cache: mark updated entries for split index
1005  - read-cache: save deleted entries in split index
1006  - read-cache: mark new entries for split index
1007  - read-cache: split-index mode
1008  - read-cache: save index SHA-1 after reading
1009  - entry.c: update cache_changed if refresh_cache is set in checkout_entry()
1010  - cache-tree: mark istate->cache_changed on prime_cache_tree()
1011  - cache-tree: mark istate->cache_changed on cache tree update
1012  - cache-tree: mark istate->cache_changed on cache tree invalidation
1013  - unpack-trees: be specific what part of the index has changed
1014  - resolve-undo: be specific what part of the index has changed
1015  - update-index: be specific what part of the index has changed
1016  - read-cache: be specific what part of the index has changed
1017  - read-cache: be strict about "changed" in remove_marked_cache_entries()
1018  - read-cache: store in-memory flags in the first 12 bits of ce_flags
1019  - read-cache: relocate and unexport commit_locked_index()
1020  - read-cache: new API write_locked_index instead of write_index/write_cache
1021  - sequencer: do not update/refresh index if the lock cannot be held
1022  - ewah: delete unused ewah_read_mmap_native declaration
1023  - ewah: fix constness of ewah_read_mmap
1025  The tip two remind us the need for a minor reroll.  If I find time
1026  I could try to squash them myself, but it is low priority for me.
1029 * ib/test-selectively-run (2014-06-06) 4 commits
1030   (merged to 'next' on 2014-06-06 at d894205)
1031  + t0000-*.sh: fix the GIT_SKIP_TESTS sub-tests
1032  + test-lib: '--run' to run only specific tests
1033  + test-lib: tests skipped by GIT_SKIP_TESTS say so
1034  + test-lib: document short options in t/README
1036  Allow specifying only certain individual test pieces to be run
1037  using a range notation (e.g. "t1234-test.sh --run='1-4 6 8 9-'").
1039  Will merge to 'master'.
1042 * fc/remote-helper-refmap (2014-04-21) 8 commits
1043   (merged to 'next' on 2014-04-22 at fb5a4c2)
1044  + transport-helper: remove unnecessary strbuf resets
1045  + transport-helper: add support to delete branches
1046  + fast-export: add support to delete refs
1047  + fast-import: add support to delete refs
1048  + transport-helper: add support to push symbolic refs
1049  + transport-helper: add support for old:new refspec
1050  + fast-export: add new --refspec option
1051  + fast-export: improve argument parsing
1053  Allow remote-helper/fast-import based transport to rename the refs
1054  while transferring the history.
1057 * jh/submodule-tests (2014-04-17) 1 commit
1058  - t7410: 210 tests for various 'git submodule update' scenarios
1060  What's the status of this one?
1063 * mt/patch-id-stable (2014-05-06) 6 commits
1064   (merged to 'next' on 2014-05-07 at 6ade68e)
1065  + test doc: test_write_lines does not split its arguments
1066   (merged to 'next' on 2014-05-02 at cfa251b)
1067  + t4204-patch-id.sh: default is now stable
1068  + patch-id: change default to stable
1069   (merged to 'next' on 2014-05-02 at b69326a)
1070  + patch-id-test: test stable and unstable behaviour
1071  + test: add test_write_lines helper
1072  + patch-id: make it stable against hunk reordering
1074  Introduce a new way to compute patch-id for a patch that is not
1075  affected by the order of the paths that appear in the input.
1077  Will merge to 'master'.
1080 * cc/interpret-trailers (2014-05-28) 11 commits
1081  - Documentation: add documentation for 'git interpret-trailers'
1082  - trailer: add tests for commands in config file
1083  - trailer: execute command from 'trailer.<name>.command'
1084  - trailer: add tests for "git interpret-trailers"
1085  - trailer: add interpret-trailers command
1086  - trailer: put all the processing together and print
1087  - trailer: parse trailers from file or stdin
1088  - trailer: process command line trailer arguments
1089  - trailer: read and process config information
1090  - trailer: process trailers from input message and arguments
1091  - trailer: add data structures and basic functions
1093  A new filter to programatically edit the tail end of the commit log
1094  messages.