What's cooking (2013/07 #07)
[alt-git.git] / whats-cooking.txt
blob66227b2fbf93c9693c1c75b7dbaf162ed811f707
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Jul 2013, #07; Sun, 21)
4 X-master-at: 805c5a578995db7594ad0751a683bc6422655c29
5 X-next-at: e2c9e63a26e9480ed73a4f2615121c69962087b4
7 What's cooking in git.git (Jul 2013, #07; Sun, 21)
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 Quite a many documentation clean-up patches that are already in
15 'master' have been applied to 'maint'.  Hopefully 1.8.3.4 will be
16 the last of the 1.8.3.x maintenance series.
18 You can find the changes described here in the integration branches
19 of the repositories listed at
21     http://git-blame.blogspot.com/p/git-public-repositories.html
23 --------------------------------------------------
24 [New Topics]
26 * mm/color-auto-default (2013-07-19) 1 commit
27   (merged to 'next' on 2013-07-19 at 880d984)
28  + git add -e: Explicitly specify that patch should have no color
30  A finishing touch to fix breakage to "add -e" caused by defaulting
31  ui.color to "auto".
33  Will merge to 'master'.
36 * jc/simple-add-must-be-a-no-op (2013-07-19) 1 commit
37   (merged to 'next' on 2013-07-19 at a1543ee)
38  + t2202: make sure "git add" (no args) stays a no-op
40  This detected a mismerge of one of "add-2.0" topics to the 'jch'
41  and 'pu' branches.
43  Will merge to 'master'.
46 * jm/doc-ref-prune (2013-07-18) 2 commits
47  - Documentation: fix git-prune example usage
48  - Documentation: remove --prune from pack-refs examples
50  Will merge to 'next' and then 'master'.
53 * rj/sparse (2013-07-21) 1 commit
54  - Revert "compat/unsetenv.c: Fix a sparse warning"
56  Will merge to 'next' and then 'master'.
59 * sb/traverse-trees-bitmask-variable-name (2013-07-19) 1 commit
60  - traverse_trees(): clarify return value of the callback
62  Will merge to 'next' and then 'master'.
64 --------------------------------------------------
65 [Stalled]
67 * jk/fast-import-empty-ls (2013-06-23) 4 commits
68  - fast-import: allow moving the root tree
69  - fast-import: allow ls or filecopy of the root tree
70  - fast-import: set valid mode on root tree in "ls"
71  - t9300: document fast-import empty path issues
73  Comments?
76 * tf/gitweb-ss-tweak (2013-07-15) 4 commits
77  - gitweb: make search help link less ugly
78  - gitweb: omit the repository owner when it is unset
79  - gitweb: vertically centre contents of page footer
80  - gitweb: ensure OPML text fits inside its box
82  Comments?
85 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
86  - ### DONTMERGE: needs better explanation on what config they need
87  - pack-refs.c: Add missing call to git_config()
88  - show-ref.c: Add missing call to git_config()
90  The changes themselves are probably good, but it is unclear what
91  basic setting needs to be read for which exact operation.
93  Waiting for clarification.
94  $gmane/228294
97 * jh/shorten-refname (2013-05-07) 4 commits
98  - t1514: refname shortening is done after dereferencing symbolic refs
99  - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
100  - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
101  - t1514: Add tests of shortening refnames in strict/loose mode
103  When remotes/origin/HEAD is not a symbolic ref, "rev-parse
104  --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
105  "origin/HEAD", which is fixed with this series (if it is a symbolic
106  ref that points at remotes/origin/something, then it should show
107  "origin/something" and it already does).
109  Expecting a reroll, as an early part of a larger series.
110  $gmane/225137
113 * jl/submodule-mv (2013-04-23) 5 commits
114  . submodule.c: duplicate real_path's return value
115  . rm: delete .gitmodules entry of submodules removed from the work tree
116  . Teach mv to update the path entry in .gitmodules for moved submodules
117  . Teach mv to move submodules using a gitfile
118  . Teach mv to move submodules together with their work trees
120  "git mv A B" when moving a submodule A does "the right thing",
121  inclusing relocating its working tree and adjusting the paths in
122  the .gitmodules file.
124  Ejected from 'pu', as it conflicts with nd/magic-pathspec.
127 * jk/list-objects-sans-blobs (2013-06-06) 4 commits
128  . archive: ignore blob objects when checking reachability
129  . list-objects: optimize "revs->blob_objects = 0" case
130  . upload-archive: restrict remote objects with reachability check
131  . clear parsed flag when we free tree buffers
133  Attempt to allow "archive --remote=$there $arbitrary_sha1" while
134  keeping the reachability safety.
136  Seems to break some tests in a trivial and obvious way.
139 * mg/more-textconv (2013-05-10) 7 commits
140  - grep: honor --textconv for the case rev:path
141  - grep: allow to use textconv filters
142  - t7008: demonstrate behavior of grep with textconv
143  - cat-file: do not die on --textconv without textconv filters
144  - show: honor --textconv for blobs
145  - diff_opt: track whether flags have been set explicitly
146  - t4030: demonstrate behavior of show with textconv
148  Make "git grep" and "git show" pay attention to --textconv when
149  dealing with blob objects.
151  I thought this was pretty well designed and executed, but it seems
152  there are some doubts on the list; kicked back to 'pu'.
155 * jc/format-patch (2013-04-22) 2 commits
156  - format-patch: --inline-single
157  - format-patch: rename "no_inline" field
159  A new option to send a single patch to the standard output to be
160  appended at the bottom of a message.  I personally have no need for
161  this, but it was easy enough to cobble together.  Tests, docs and
162  stripping out more MIMEy stuff are left as exercises to interested
163  parties.
165  Not ready for inclusion.
167  Will discard unless we hear from anybody who is interested in
168  tying its loose ends.
171 * jk/gitweb-utf8 (2013-04-08) 4 commits
172  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
173  - gitweb: Don't append ';js=(0|1)' to external links
174  - gitweb: Make feed title valid utf8
175  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
177  Various fixes to gitweb.
179  Drew Northup volunteered to take a look into this.
180  $gmane/226216
183 * jc/show-branch (2013-06-07) 5 commits
184  - show-branch: use commit slab to represent bitflags of arbitrary width
185  - show-branch.c: remove "all_mask"
186  - show-branch.c: abstract out "flags" operation
187  - show-branch.c: lift all_mask/all_revs to a global static
188  - show-branch.c: update comment style
190  Waiting for the final step to lift the hard-limit before sending it out.
192 --------------------------------------------------
193 [Cooking]
195 * mh/multimail (2013-07-15) 2 commits
196  - post-receive-email: deprecate script in favor of git-multimail
197  - git-multimail: an improved replacement for post-receive-email
199  An enhanced "post-receive" hook to send e-mail messages.
201  I tend to agree that the wording of the tip one is a bit too
202  strong.  An old script does not necessarily have to be avoided by
203  its existing users only because it has not got updates for a long
204  time.
207 * db/show-ref-head (2013-07-17) 1 commit
208   (merged to 'next' on 2013-07-18 at 73797d0)
209  + show-ref: make --head always show the HEAD ref
211  The "--head" option to "git show-ref" was only to add "HEAD" to the
212  list of candidate refs to be filtered by the usual rules
213  (e.g. "--heads" that only show refs under refs/heads).  Change the
214  meaning of the option to always show "HEAD" regardless of what
215  filtering will be applied to any other ref (this is a backward
216  incompatible change, so I may need to add an entry to the Release
217  Notes).
219  Will merge to 'master'.
222 * dw/request-pull-diag (2013-07-17) 1 commit
223   (merged to 'next' on 2013-07-18 at d4406de)
224  + request-pull: improve error message for invalid revision args
226  Will merge to 'master'.
229 * es/blame-L-breakage (2013-07-17) 6 commits
230   (merged to 'next' on 2013-07-18 at cfd871a)
231  + blame-options.txt: explain that -L <start> and <end> are optional
232  + blame-options.txt: place each -L option variation on its own line
233  + t8001/t8002 (blame): add blame -L :funcname tests
234  + t8001/t8002 (blame): add blame -L tests
235  + t8001/t8002 (blame): modernize style
236  + line-range: fix "blame -L X,-N" regression
238  The refactoring made for parsing "-L" option recently to support
239  "git log -L" seems to have broken "git blame -L X,-5" to show 5
240  lines leading to X.
242  Will merge to 'master'.
245 * jc/diff-filter-negation (2013-07-19) 6 commits
246  - diff: deprecate -q option to diff-files
247  - diff: allow lowercase letter to specify what change class to exclude
248  - diff: reject unknown change class given to --diff-filter
249  - diff: preparse --diff-filter string argument
250  - diff: factor out match_filter()
251  - diff: pass the whole diff_options to diffcore_apply_filter()
252  (this branch is used by jc/hold-diff-remove-q-synonym-for-no-deletion.)
254  Teach "git diff --diff-filter" to express "I do not want to see
255  these classes of changes" more directly by listing only the
256  unwanted ones in lowercase (e.g. "--diff-filter=d" will show
257  everything but deletion) and deprecate "diff-files -q" which did
258  the same thing as "--diff-filter=d".
260  Will merge to 'next'.
263 * mh/packed-refs-do-one-ref-recursion (2013-07-17) 1 commit
264  - do_one_ref(): save and restore value of current_ref
266  Needs a bit better description to be placed in the Release Notes.
269 * ml/avoid-using-grep-on-crlf-files (2013-07-18) 1 commit
270  - test-lib.sh - define and use GREP_STRIPS_CR
272  On systems that understand a CRLF as a line ending, tests in this
273  script that worked on files with CRLF line endings using "grep" to
274  extract matching lines may lose the CR at the end of lines that
275  match, causing the actual output not to match the expected output.
277  Will merge to 'next'.
280 * ml/cygwin-updates (2013-07-21) 4 commits
281  - cygwin: stop forcing core.filemode=false
282  - Cygwin 1.7 supports mmap
283  - Cygwin 1.7 has thread-safe pread
284  - Cygwin 1.7 needs compat/regex
286  The tip one does _not_ revert c869753e (Force core.filemode to
287  false on Cygwin., 2006-12-30) on purpose, so that people can
288  still retain the old behaviour if they wanted to.
290  Will merge to 'next'.
293 * mm/diff-no-patch-synonym-to-s (2013-07-17) 6 commits
294   (merged to 'next' on 2013-07-18 at 3b893d6)
295  + Documentation/git-log.txt: capitalize section names
296  + Documentation: move description of -s, --no-patch to diff-options.txt
297  + Documentation/git-show.txt: include common diff options, like git-log.txt
298  + diff: allow --patch & cie to override -s/--no-patch
299  + diff: allow --no-patch as synonym for -s
300  + t4000-diff-format.sh: modernize style
302  "git show -s" was less discoverable than it should be.
304  Will merge to 'master'.
307 * nd/magic-pathspec (2013-07-17) 47 commits
308  - t6131 - skip tests if on case-insensitive file system
309  - parse_pathspec: accept :(icase)path syntax
310  - pathspec: support :(glob) syntax
311  - pathspec: make --literal-pathspecs disable pathspec magic
312  - pathspec: support :(literal) syntax for noglob pathspec
313  - kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
314  - parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
315  - parse_pathspec: make sure the prefix part is wildcard-free
316  - rename field "raw" to "_raw" in struct pathspec
317  - tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
318  - remove match_pathspec() in favor of match_pathspec_depth()
319  - remove init_pathspec() in favor of parse_pathspec()
320  - remove diff_tree_{setup,release}_paths
321  - convert common_prefix() to use struct pathspec
322  - convert add_files_to_cache to take struct pathspec
323  - convert {read,fill}_directory to take struct pathspec
324  - convert refresh_index to take struct pathspec
325  - convert report_path_error to take struct pathspec
326  - checkout: convert read_tree_some to take struct pathspec
327  - convert unmerge_cache to take struct pathspec
328  - convert run_add_interactive to use struct pathspec
329  - convert read_cache_preload() to take struct pathspec
330  - line-log: convert to use parse_pathspec
331  - reset: convert to use parse_pathspec
332  - add: convert to use parse_pathspec
333  - check-ignore: convert to use parse_pathspec
334  - archive: convert to use parse_pathspec
335  - ls-files: convert to use parse_pathspec
336  - rm: convert to use parse_pathspec
337  - checkout: convert to use parse_pathspec
338  - rerere: convert to use parse_pathspec
339  - status: convert to use parse_pathspec
340  - commit: convert to use parse_pathspec
341  - clean: convert to use parse_pathspec
342  - guard against new pathspec magic in pathspec matching code
343  - parse_pathspec: support prefixing original patterns
344  - parse_pathspec: support stripping/checking submodule paths
345  - parse_pathspec: support stripping submodule trailing slashes
346  - parse_pathspec: add special flag for max_depth feature
347  - convert some get_pathspec() calls to parse_pathspec()
348  - parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
349  - parse_pathspec: save original pathspec for reporting
350  - add parse_pathspec() that converts cmdline args to struct pathspec
351  - pathspec: add copy_pathspec
352  - pathspec: i18n-ize error strings in pathspec parsing code
353  - move struct pathspec and related functions to pathspec.[ch]
354  - clean: remove unused variable "seen"
356  Use "struct pathspec" interface in more places, instead of array of
357  characters, the latter of which cannot express magic pathspecs
358  (e.g. ":(icase)makefile" that matches both Makefile and makefile).
360  Will merge to 'next'.
363 * rh/template-updates (2013-07-15) 3 commits
364  - templates: spell ASCII in uppercase in pre-commit hook
365  - templates: Reformat pre-commit hook's message
366  - templates: Use heredoc in pre-commit hook
368  This is an earlier part of a 6 patch series, with log message
369  corrected.
371  Will merge to 'next'.
374 * sb/misc-fixes (2013-07-15) 3 commits
375   (merged to 'next' on 2013-07-21 at 880b08c)
376  + diff.c: Do not initialize a variable, which gets reassigned anyway.
377  + commit: Fix a memory leak in determine_author_info
378  + daemon.c:handle: Remove unneeded check for null pointer.
380  Assorted code cleanups and a minor fix.
382  Will merge to 'master'.
385 * sb/parse-object-buffer-eaten (2013-07-17) 1 commit
386   (merged to 'next' on 2013-07-18 at 364689c)
387  + parse_object_buffer: correct freeing the buffer
389  Will merge to 'master'.
392 * tr/do-not-call-submodules-subprojects (2013-07-18) 2 commits
393   (merged to 'next' on 2013-07-18 at 6386fd5)
394  + show-branch: fix description of --date-order
395  + apply, entry: speak of submodules instead of subprojects
397  Will merge to 'master'.
400 * tr/protect-low-3-fds (2013-07-17) 2 commits
401   (merged to 'next' on 2013-07-18 at 504d972)
402  + git: ensure 0/1/2 are open in main()
403  + daemon/shell: refactor redirection of 0/1/2 from /dev/null
405  When "git" is spawned in such a way that any of the low 3 file
406  descriptors is closed, our first open() may yield file descriptor 2,
407  and writing error message to it would screw things up in a big way.
409  Will merge to 'master'.
412 * rr/send-email-ssl-verify (2013-07-18) 1 commit
413   (merged to 'next' on 2013-07-21 at 62099ff)
414  + send-email: be explicit with SSL certificate verification
416  Newer Net::SMTP::SSL module does not want the user programs to use
417  the default behaviour to let server certificate go without
418  verification, so by default enable the verification with a
419  mechanism to turn it off if needed.
421  Will merge to 'master'.
424 * es/check-mailmap (2013-07-13) 2 commits
425   (merged to 'next' on 2013-07-21 at 23c5363)
426  + t4203: test check-mailmap command invocation
427  + builtin: add git-check-mailmap command
428  (this branch is used by es/contacts.)
430  A new command to allow scripts to query the mailmap information.
432  Will merge to 'master'.
435 * jc/check-x-z (2013-07-11) 4 commits
436   (merged to 'next' on 2013-07-15 at 62751bc)
437  + check-attr -z: a single -z should apply to both input and output
438  + check-ignore -z: a single -z should apply to both input and output
439  + check-attr: the name of the character is NUL, not NULL
440  + check-ignore: the name of the character is NUL, not NULL
442  "git check-ignore -z" applied the NUL termination to both its input
443  (with --stdin) and its output, but "git check-attr -z" ignored the
444  option on the output side.
446  This is potentially a backward incompatible fix.  I am tempted to
447  merge this to and keep it in 'next' for a while to see if anybody
448  screams before deciding if we want to do anything to help existing
449  users (there may be none).
451  Waiting for failure reports ;-)
454 * jk/cat-file-batch-optim (2013-07-18) 9 commits
455  - Fix some sparse warnings
456  - sha1_object_info_extended: pass object_info to helpers
457  - sha1_object_info_extended: make type calculation optional
458  - packed_object_info: make type lookup optional
459  - packed_object_info: hoist delta type resolution to helper
460  - sha1_loose_object_info: make type lookup optional
461  - sha1_object_info_extended: rename "status" to "type"
462  - cat-file: disable object/refname ambiguity check for batch mode
463  - Merge branch 'nd/warn-ambiguous-object-name' into jk/cat-file-batch-optim
465  If somebody wants to only know on-disk footprint of an object
466  without having to know its type or payload size, we can bypass a
467  lot of code to cheaply learn it.
469  Will merge to 'next'.
472 * jk/t0008-sigpipe-fix (2013-07-12) 1 commit
473   (merged to 'next' on 2013-07-15 at cead4b2)
474  + t0008: avoid SIGPIPE race condition on fifo
476  Fix for recent test breakage on 'master'.
478  Will merge to 'master'.
481 * mk/upload-pack-off-by-one-dead-code-removal (2013-07-15) 1 commit
482   (merged to 'next' on 2013-07-15 at a8f55a2)
483  + upload-pack: remove a piece of dead code
485  Will merge to 'master'.
488 * tr/fd-gotcha-fixes (2013-07-12) 2 commits
489   (merged to 'next' on 2013-07-18 at 30f4fdf)
490  + run-command: dup_devnull(): guard against syscalls failing
491  + git_mkstemps: correctly test return value of open()
493  Two places we did not check return value (expected to be a file
494  descriptor) correctly.
496  Will merge to 'master'.
499 * jc/mailmap-case-insensitivity (2013-07-15) 9 commits
500   (merged to 'next' on 2013-07-18 at 83341ac)
501  + mailmap: style fixes
502  + mailmap: debug: avoid passing NULL to fprintf() '%s' conversion specification
503  + mailmap: debug: eliminate -Wformat field precision type warning
504  + mailmap: debug: fix malformed fprintf() format conversion specification
505  + mailmap: debug: fix out-of-order fprintf() arguments
506  + mailmap: do not downcase mailmap entries
507  + t4203: demonstrate loss of uppercase characters in canonical email
508  + mailmap: do not lose single-letter names
509  + t4203: demonstrate loss of single-character name in mailmap entry
511  The mailmap mechanism unnecessarily downcased the e-mail addresses
512  in the output, and also ignored the human name when it is a single
513  character name.
515  This now has become Eric Sunshine's series, even though it still is
516  under jc/ hierarchy.
518  Will merge to 'master'.
521 * ms/fetch-prune-configuration (2013-07-18) 1 commit
522   (merged to 'next' on 2013-07-21 at 7ffb690)
523  + fetch: make --prune configurable
525  Allow fetch.prune and remote.*.prune configuration variables to be set,
526  and "git fetch" to behave as if "--prune" is given.
528  Will merge to 'master'.
531 * jk/gcc-function-attributes (2013-07-19) 4 commits
532   (merged to 'next' on 2013-07-19 at 5f6ad91)
533  + Add the LAST_ARG_MUST_BE_NULL macro
534   (merged to 'next' on 2013-07-12 at 5a7081f)
535  + wt-status: use "format" function attribute for status_printf
536  + use "sentinel" function attribute for variadic lists
537  + add missing "format" function attributes
539  Use the function attributes extension to catch mistakes in use of
540  our own variadic functions that use NULL sentinel at the end
541  (i.e. like execl(3)) and format strings (i.e. like printf(3)).
543  Will merge to 'master'.
546 * km/http-curl-config-per-url (2013-07-21) 5 commits
547  . config: allow http.<url>.* any user matching
548  . tests: add new test for the url_normalize function
549  . config: improve support for http.<url>.* settings
550  . config: add support for http.<url>.* settings
551  . http.c: fix parsing of http.sslCertPasswordProtected variable
553  Allows custom curl configuration per URL when talking over http.
554  Tentatively ejected as I did not seem to have received some binary
555  files correctly.
558 * hv/config-from-blob (2013-07-12) 5 commits
559   (merged to 'next' on 2013-07-15 at 9ab7f3f)
560  + do not die when error in config parsing of buf occurs
561  + teach config --blob option to parse config from database
562  + config: make parsing stack struct independent from actual data source
563  + config: drop cf validity check in get_next_char()
564  + config: factor out config file stack management
566  Allow configuration data to be read from in-tree blob objects,
567  which would help working in a bare repository and submodule
568  updates.
570  Will merge to 'master'.
573 * jc/name-rev-exact-ref (2013-07-18) 5 commits
574   (merged to 'next' on 2013-07-18 at c8bc00c)
575  + describe: fix --contains when a tag is given as input
576  + name-rev: differentiate between tags and commits they point at
577   (merged to 'next' on 2013-07-11 at fd5b30c)
578  + describe: use argv-array
579  + name-rev: allow converting the exact object name at the tip of a ref
580  + name-ref: factor out name shortening logic from name_ref()
582  Corrects the longstanding sloppiness in the implementation of
583  name-rev that conflated "we take commit-ish" and "differences
584  between tags and commits do not matter".
586  Will merge to 'master'.
589 * km/svn-1.8-serf-only (2013-07-18) 3 commits
590   (merged to 'next' on 2013-07-19 at ab8d034)
591  + Git.pm: revert _temp_cache use of temp_is_locked
592   (merged to 'next' on 2013-07-12 at 70e0b95)
593  + git-svn: allow git-svn fetching to work using serf
594  + Git.pm: add new temp_is_locked function
596  Subversion 1.8.0 that was recently released breaks older subversion
597  clients coming over http/https in various ways.
599  Will cook for a while.
602 * tr/merge-recursive-index-only (2013-07-07) 3 commits
603  - merge-recursive: -Xindex-only to leave worktree unchanged
604  - merge-recursive: untangle double meaning of o->call_depth
605  - merge-recursive: remove dead conditional in update_stages()
607  What's the status of this one?
609  I am not particularly fond of the second patch that conceptually
610  allows updating working tree during a virtual merge (i.e. addition
611  of o->no_worktree is fine, but there needs a way to make sure it is
612  never set to false when o->depth is not zero).
615 * jc/push-cas (2013-07-17) 6 commits
616  - t5533: test "push --lockref"
617  - push --lockref: tie it all together
618  - push --lockref: implement logic to populate old_sha1_expect[]
619  - remote.c: add command line option parser for "--lockref"
620  - builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
621  - cache.h: move remote/connect API out of it
623  Allow a safer "rewind of the remote tip" push than blind "--force",
624  by requiring that the overwritten remote ref to be unchanged since
625  the new history to replace it was prepared.
627  The machinery is more or less ready.  The "--force" option is again
628  the big red button to override any safety, thanks to J6t's sanity
629  (the original round allowed --lockref to defeat --force).
631  I have strong doubts on the merit of the logic to choose the
632  default for "--lockref" implemented here.  It is suitable only for
633  the simplest workflows, and it may hurt users more than it helps
634  them.
636  Also the option may be called something with "--force" prefix, as
637  it is a weaker and more controlled form of "--force" that is used
638  to defeat the usual "must fast-forward" safety.
641 * nd/const-struct-cache-entry (2013-07-09) 1 commit
642   (merged to 'next' on 2013-07-15 at 9ce0122)
643  + Convert "struct cache_entry *" to "const ..." wherever possible
645  Will merge to 'master'.
648 * es/contacts (2013-07-21) 5 commits
649  - contrib: contacts: add documentation
650  - contrib: contacts: add mailmap support
651  - contrib: contacts: interpret committish akin to format-patch
652  - contrib: contacts: add ability to parse from committish
653  - contrib: add git-contacts helper
654  (this branch uses es/check-mailmap.)
656  A helper to read from a set of format-patch output files or a range
657  of commits and find those who may have insights to the code that
658  the changes touch by running a series of "git blame" commands.
660  Still needs to add mailmap support and other niceties but the
661  basics already look sound, and the enhancements can be done
662  in-tree. Assuming that "git contact" is something we may want to
663  have as a member of the official set of commands someday, that is.
665  Will merge to 'next'.
668 * jc/pull-training-wheel (2013-07-19) 1 commit
669  - pull: require choice between rebase/merge on non-fast-forward pull
671  Make "git pull" (without arguments that say what branch to
672  integrate from where) refuse with "it does not fast forward; choose
673  between 'pull --merge' and 'pull --rebase'".
675  See
677  http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=225326
678  http://thread.gmane.org/gmane.comp.version-control.git/225146/focus=229221
680  for full discussion.
682  Will merge to 'next'.
685 * rj/cygwin-clarify-use-of-cheating-lstat (2013-07-18) 1 commit
686  - cygwin: Remove the Win32 l/stat() implementation
688  Cygwin port added a "not quite correct but a lot faster and good
689  enough for many lstat() calls that are only used to see if the
690  working tree entity matches the index entry" lstat() emulation some
691  time ago, and it started biting us in places.  This removes it and
692  uses the standard lstat() that comes with Cygwin.
694  I am personally in favor of this simpler solution.  Comments?
697 * jc/reflog-doc (2013-06-19) 1 commit
698  - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
700  Document rules to use GIT_REFLOG_ACTION variable in the scripted
701  Porcelain.  git-rebase--interactive locally violates this, but it
702  is a leaf user that does not call out to or dot-sources other
703  scripts, so fixing it is not all that urgent.
706 * mh/ref-races-optim-invalidate-cached (2013-06-20) 1 commit
707  - refs: do not invalidate the packed-refs cache unnecessarily
709  This requires the platform lstat() to be correct to avoid false
710  negatives.
712  Will merge to 'next'.
715 * jx/clean-interactive (2013-06-26) 16 commits
716   (merged to 'next' on 2013-07-12 at 61dd42d)
717  + test: run testcases with POSIX absolute paths on Windows
718  + test: add t7301 for git-clean--interactive
719  + git-clean: add documentation for interactive git-clean
720  + git-clean: add ask each interactive action
721  + git-clean: add select by numbers interactive action
722  + git-clean: add filter by pattern interactive action
723  + git-clean: use a git-add-interactive compatible UI
724  + git-clean: add colors to interactive git-clean
725  + git-clean: show items of del_list in columns
726  + git-clean: add support for -i/--interactive
727   (merged to 'next' on 2013-06-26 at f7be2d8)
728  + git-clean: refactor git-clean into two phases
729  + write_name{_quoted_relative,}(): remove redundant parameters
730  + quote_path_relative(): remove redundant parameter
731  + quote.c: substitute path_relative with relative_path
732  + path.c: refactor relative_path(), not only strip prefix
733  + test: add test cases for relative_path
735  Add "interactive" mode to "git clean".
737  The early part to refactor relative path related helper functions
738  looked sensible.
740  Will merge to 'master'.
743 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
744  - git add: -u/-A now affects the entire working tree
746  Will cook in 'next' until Git 2.0.
749 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
750  - core.statinfo: remove as promised in Git 2.0
752  Will cook in 'next' until Git 2.0.
755 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
756  - push: switch default from "matching" to "simple"
758  Will cook in 'next' until Git 2.0.
761 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
762  - git add <pathspec>... defaults to "-A"
764  Updated endgame for "git add <pathspec>" that defaults to "--all"
765  aka "--no-ignore-removal".
767  Will cook in 'next' until Git 2.0.
770 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
771  - diff: remove "diff-files -q" in a version of Git in a distant future
772  (this branch uses jc/diff-filter-negation.)
774  This obviously has to wait until a distant future.