What's cooking (2013/09 #02)
[git/jrn.git] / whats-cooking.txt
blobb736406633cede3d1449e0d76127ff7547e6b8bd
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Sep 2013, #02; Mon, 9)
4 X-master-at: bb80ee09974667a1db6bbc5e33574ed869b76a88
5 X-next-at: 117d2e3ab92364a7d246c98cc5b71f2b751600e6
7 What's cooking in git.git (Sep 2013, #02; Mon, 9)
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 are now in 'master'.
16 You can find the changes described here in the integration branches
17 of the repositories listed at
19     http://git-blame.blogspot.com/p/git-public-repositories.html
21 --------------------------------------------------
22 [Graduated to "master"]
24 * aj/p4-symlink-lose-nl (2013-08-12) 1 commit
25   (merged to 'next' on 2013-08-28 at 5ce9ceb)
26  + git-p4: Fix occasional truncation of symlink contents.
28  Originally merged to 'next' on 2013-08-14
31 * ap/remote-hg-tilde-is-home-directory (2013-08-09) 1 commit
32   (merged to 'next' on 2013-08-28 at 9bfc430)
33  + remote-hg: fix path when cloning with tilde expansion
35  Originally merged to 'next' on 2013-08-14
38 * bc/unuse-packfile (2013-08-02) 2 commits
39   (merged to 'next' on 2013-08-28 at 9029801)
40  + Don't close pack fd when free'ing pack windows
41  + sha1_file: introduce close_one_pack() to close packs on fd pressure
43  Originally merged to 'next' on 2013-08-06
45  Handle memory pressure and file descriptor pressure separately when
46  deciding to release pack windows to honor resource limits.
49 * da/darwin (2013-08-05) 3 commits
50   (merged to 'next' on 2013-08-28 at 6e4c5ae)
51  + OS X: Fix redeclaration of die warning
52  + Makefile: Fix APPLE_COMMON_CRYPTO with BLK_SHA1
53  + imap-send: use Apple's Security framework for base64 encoding
55  Originally merged to 'next' on 2013-08-05
58 * db/http-savecookies (2013-08-05) 2 commits
59   (merged to 'next' on 2013-08-28 at 22a8464)
60  + t5551: Remove header from curl cookie file
61  + http: add http.savecookies option to write out HTTP cookies
63  Originally merged to 'next' on 2013-08-05
66 * es/blame-L-more (2013-08-05) 11 commits
67   (merged to 'next' on 2013-08-28 at b73cdc9)
68  + blame: reject empty ranges -L,+0 and -L,-0
69  + t8001/t8002: blame: demonstrate acceptance of bogus -L,+0 and -L,-0
70  + blame: reject empty ranges -LX,+0 and -LX,-0
71  + t8001/t8002: blame: demonstrate acceptance of bogus -LX,+0 and -LX,-0
72  + log: fix -L bounds checking bug
73  + t4211: retire soon-to-be unimplementable tests
74  + t4211: log: demonstrate -L bounds checking bug
75  + blame: fix -L bounds checking bug
76  + t8001/t8002: blame: add empty file & partial-line tests
77  + t8001/t8002: blame: demonstrate -L bounds checking bug
78  + t8001/t8002: blame: decompose overly-large test
79  (this branch is used by es/blame-L-twice and es/contacts-blame-L-multi.)
81  Originally merged to 'next' on 2013-08-06
83  More fixes to the code to parse the "-L" option in "log" and "blame".
86 * es/blame-L-twice (2013-08-06) 16 commits
87   (merged to 'next' on 2013-08-28 at e83ae2e)
88  + line-range: reject -L line numbers less than 1
89  + t8001/t8002: blame: add tests of -L line numbers less than 1
90  + line-range: teach -L^:RE to search from start of file
91  + line-range: teach -L:RE to search from end of previous -L range
92  + line-range: teach -L^/RE/ to search from start of file
93  + line-range-format.txt: document -L/RE/ relative search
94  + log: teach -L/RE/ to search from end of previous -L range
95  + blame: teach -L/RE/ to search from end of previous -L range
96  + line-range: teach -L/RE/ to search relative to anchor point
97  + blame: document multiple -L support
98  + t8001/t8002: blame: add tests of multiple -L options
99  + blame: accept multiple -L ranges
100  + blame: inline one-line function into its lone caller
101  + range-set: publish API for re-use by git-blame -L
102  + line-range-format.txt: clarify -L:regex usage form
103  + git-log.txt: place each -L option variation on its own line
104  (this branch is used by es/contacts-blame-L-multi; uses es/blame-L-more.)
106  Originally merged to 'next' on 2013-08-08
108  Teaches "git blame" to take more than one -L ranges.
111 * es/contacts-blame-L-multi (2013-08-13) 3 commits
112   (merged to 'next' on 2013-08-28 at 24ff8b4)
113  + contacts: reduce git-blame invocations
114  + contacts: gather all blame sources prior to invoking git-blame
115  + contacts: validate hunk length earlier
116  (this branch uses es/blame-L-more and es/blame-L-twice.)
118  Originally merged to 'next' on 2013-08-14
121 * fc/remote-hg-shared-setup (2013-08-11) 2 commits
122   (merged to 'next' on 2013-08-28 at 41ee3fe)
123  + remote-hg: add shared repo upgrade
124  + remote-hg: ensure shared repo is initialized
126  Originally merged to 'next' on 2013-08-14
129 * fc/unpack-trees-leakfix (2013-08-13) 1 commit
130   (merged to 'next' on 2013-08-28 at 3ad1f21)
131  + unpack-trees: plug a memory leak
133  Originally merged to 'next' on 2013-08-14
136 * jc/check-x-z (2013-07-11) 4 commits
137   (merged to 'next' on 2013-08-28 at a7670ce)
138  + check-attr -z: a single -z should apply to both input and output
139  + check-ignore -z: a single -z should apply to both input and output
140  + check-attr: the name of the character is NUL, not NULL
141  + check-ignore: the name of the character is NUL, not NULL
143  Originally merged to 'next' on 2013-07-15
145  "git check-ignore -z" applied the NUL termination to both its input
146  (with --stdin) and its output, but "git check-attr -z" ignored the
147  option on the output side.
149  This is potentially a backward incompatible fix.  Let's see if
150  anybody screams before deciding if we want to do anything to help
151  existing users (there may be none).
154 * jc/diff-filter-negation (2013-07-19) 6 commits
155   (merged to 'next' on 2013-08-28 at 5cc7720)
156  + diff: deprecate -q option to diff-files
157  + diff: allow lowercase letter to specify what change class to exclude
158  + diff: reject unknown change class given to --diff-filter
159  + diff: preparse --diff-filter string argument
160  + diff: factor out match_filter()
161  + diff: pass the whole diff_options to diffcore_apply_filter()
162  (this branch is used by jc/hold-diff-remove-q-synonym-for-no-deletion.)
164  Originally merged to 'next' on 2013-07-22
166  Teach "git diff --diff-filter" to express "I do not want to see
167  these classes of changes" more directly by listing only the
168  unwanted ones in lowercase (e.g. "--diff-filter=d" will show
169  everything but deletion) and deprecate "diff-files -q" which did
170  the same thing as "--diff-filter=d".
173 * jc/parseopt-command-modes (2013-07-30) 2 commits
174   (merged to 'next' on 2013-08-28 at 738b399)
175  + tag: use OPT_CMDMODE
176  + parse-options: add OPT_CMDMODE()
177  (this branch is used by sb/parseopt-boolean-removal.)
179  Many commands use --dashed-option as a operation mode selector
180  (e.g. "git tag --delete") that the user can use at most one
181  (e.g. "git tag --delete --verify" is a nonsense) and you cannot
182  negate (e.g. "git tag --no-delete" is a nonsense).  Make it easier
183  for users of parse_options() to enforce these restrictions.
186 * jc/push-cas (2013-08-02) 9 commits
187   (merged to 'next' on 2013-08-28 at 784281f)
188  + push: teach --force-with-lease to smart-http transport
189  + send-pack: fix parsing of --force-with-lease option
190  + t5540/5541: smart-http does not support "--force-with-lease"
191  + t5533: test "push --force-with-lease"
192  + push --force-with-lease: tie it all together
193  + push --force-with-lease: implement logic to populate old_sha1_expect[]
194  + remote.c: add command line option parser for "--force-with-lease"
195  + builtin/push.c: use OPT_BOOL, not OPT_BOOLEAN
196  + cache.h: move remote/connect API out of it
198  Originally merged to 'next' on 2013-08-05
200  Allow a safer "rewind of the remote tip" push than blind "--force",
201  by requiring that the overwritten remote ref to be unchanged since
202  the new history to replace it was prepared.
204  The machinery is more or less ready.  The "--force" option is again
205  the big red button to override any safety, thanks to J6t's sanity
206  (the original round allowed --lockref to defeat --force).
208  The logic to choose the default implemented here is fragile
209  (e.g. "git fetch" after seeing a failure will update the
210  remote-tracking branch and will make the next "push" pass,
211  defeating the safety pretty easily).  It is suitable only for the
212  simplest workflows, and it may hurt users more than it helps them.
215 * jc/transport-do-not-use-connect-twice-in-fetch (2013-08-28) 6 commits
216   (merged to 'next' on 2013-08-29 at f88a6da)
217  + builtin/fetch.c: Fix a sparse warning
218   (merged to 'next' on 2013-08-28 at 2ed86df)
219  + fetch: work around "transport-take-over" hack
220  + fetch: refactor code that fetches leftover tags
221  + fetch: refactor code that prepares a transport
222  + fetch: rename file-scope global "transport" to "gtransport"
223  + t5802: add test for connect helper
225  Originally merged to 'next' on 2013-08-20
227  The auto-tag-following code in "git fetch" tries to reuse the same
228  transport twice when the serving end does not cooperate and does
229  not give tags that point to commits that are asked for as part of
230  the primary transfer.  Unfortunately, Git-aware transport helper
231  interface is not designed to be used more than once, hence this
232  does not work over smart-http transfer.
235 * jc/url-match (2013-08-09) 7 commits
236   (merged to 'next' on 2013-08-28 at 2a9fd23)
237  + builtin/config.c: compilation fix
238  + config: "git config --get-urlmatch" parses section.<url>.key
239  + builtin/config: refactor collect_config()
240  + config: parse http.<url>.<variable> using urlmatch
241  + config: add generic callback wrapper to parse section.<url>.key
242  + config: add helper to normalize and match URLs
243  + http.c: fix parsing of http.sslCertPasswordProtected variable
245  Originally merged to 'next' on 2013-08-12
247  Allow section.<urlpattern>.var configuration variables to be
248  treated as a "virtual" section.var given a URL, and use the
249  mechanism to enhance http.* configuration variables.
251  This is a reroll of Kyle J. McKay's work.
254 * jk/cat-file-batch-optim (2013-08-05) 1 commit
255   (merged to 'next' on 2013-08-28 at 624e60d)
256  + cat-file: only split on whitespace when %(rest) is used
258  Originally merged to 'next' on 2013-08-06
260  Rework the reverted change to `cat-file --batch-check`.
263 * jk/fast-import-empty-ls (2013-06-23) 4 commits
264   (merged to 'next' on 2013-08-28 at 876a39d)
265  + fast-import: allow moving the root tree
266  + fast-import: allow ls or filecopy of the root tree
267  + fast-import: set valid mode on root tree in "ls"
268  + t9300: document fast-import empty path issues
270  Originally merged to 'next' on 2013-07-22
273 * jk/mailmap-incomplete-line (2013-08-28) 1 commit
274   (merged to 'next' on 2013-09-04 at e77e887)
275  + mailmap: handle mailmap blobs without trailing newlines
277  Will merge later to 'maint'.
280 * jl/some-submodule-config-are-not-boolean (2013-08-19) 1 commit
281   (merged to 'next' on 2013-08-28 at 7fabc3e)
282  + avoid segfault on submodule.*.path set to an empty "true"
284  Originally merged to 'next' on 2013-08-20
287 * jl/submodule-mv (2013-08-06) 5 commits
288   (merged to 'next' on 2013-08-28 at 4ec6b41)
289  + rm: delete .gitmodules entry of submodules removed from the work tree
290  + mv: update the path entry in .gitmodules for moved submodules
291  + submodule.c: add .gitmodules staging helper functions
292  + mv: move submodules using a gitfile
293  + mv: move submodules together with their work trees
294  (this branch is tangled with nd/magic-pathspec.)
296  Originally merged to 'next' on 2013-08-08
298  "git mv A B" when moving a submodule A does "the right thing",
299  inclusing relocating its working tree and adjusting the paths in
300  the .gitmodules file.
303 * km/svn-1.8-serf-only (2013-07-18) 3 commits
304   (merged to 'next' on 2013-08-28 at 1119134)
305  + Git.pm: revert _temp_cache use of temp_is_locked
306  + git-svn: allow git-svn fetching to work using serf
307  + Git.pm: add new temp_is_locked function
309  Originally merged to 'next' on 2013-07-19
311  Subversion 1.8.0 that was recently released breaks older subversion
312  clients coming over http/https in various ways.
315 * mm/no-shell-escape-in-die-message (2013-08-07) 1 commit
316   (merged to 'next' on 2013-08-28 at 86b300f)
317  + die_with_status: use "printf '%s\n'", not "echo"
319  Originally merged to 'next' on 2013-08-08
321  Fixes a minor bug in "git rebase -i" (there could be others, as the
322  root cause is pretty generic) where the code feeds a random, data
323  dependeant string to 'echo' and expects it to come out literally.
326 * ms/fetch-prune-configuration (2013-07-18) 1 commit
327   (merged to 'next' on 2013-08-28 at fa6ffc7)
328  + fetch: make --prune configurable
330  Originally merged to 'next' on 2013-07-21
332  Allow fetch.prune and remote.*.prune configuration variables to be set,
333  and "git fetch" to behave as if "--prune" is given.
335  "git fetch" that honors remote.*.prune is fine, but I wonder if we
336  should somehow make "git push" aware of it as well.  Perhaps
337  remote.*.prune should not be just a boolean, but a 4-way "none",
338  "push", "fetch", "both"?
341 * nd/clone-connectivity-shortcut (2013-07-23) 1 commit
342   (merged to 'next' on 2013-08-28 at d227f9f)
343  + smart http: use the same connectivity check on cloning
345  Originally merged to 'next' on 2013-07-30
348 * nd/gc-lock-against-each-other (2013-08-09) 1 commit
349   (merged to 'next' on 2013-08-28 at 46e072b)
350  + gc: reject if another gc is running, unless --force is given
352  Originally merged to 'next' on 2013-08-14
355 * nd/magic-pathspec (2013-09-05) 50 commits
356   (merged to 'next' on 2013-09-05 at b832b8d)
357  + add: lift the pathspec magic restriction on "add -p"
358  + pathspec: catch prepending :(prefix) on pathspec with short magic
359   (merged to 'next' on 2013-08-28 at 305c6e9)
360  + rm: do not set a variable twice without intermediate reading.
361  + t6131 - skip tests if on case-insensitive file system
362  + parse_pathspec: accept :(icase)path syntax
363  + pathspec: support :(glob) syntax
364  + pathspec: make --literal-pathspecs disable pathspec magic
365  + pathspec: support :(literal) syntax for noglob pathspec
366  + kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
367  + parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
368  + parse_pathspec: make sure the prefix part is wildcard-free
369  + rename field "raw" to "_raw" in struct pathspec
370  + tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
371  + remove match_pathspec() in favor of match_pathspec_depth()
372  + remove init_pathspec() in favor of parse_pathspec()
373  + remove diff_tree_{setup,release}_paths
374  + convert common_prefix() to use struct pathspec
375  + convert add_files_to_cache to take struct pathspec
376  + convert {read,fill}_directory to take struct pathspec
377  + convert refresh_index to take struct pathspec
378  + convert report_path_error to take struct pathspec
379  + checkout: convert read_tree_some to take struct pathspec
380  + convert unmerge_cache to take struct pathspec
381  + convert run_add_interactive to use struct pathspec
382  + convert read_cache_preload() to take struct pathspec
383  + line-log: convert to use parse_pathspec
384  + reset: convert to use parse_pathspec
385  + add: convert to use parse_pathspec
386  + check-ignore: convert to use parse_pathspec
387  + archive: convert to use parse_pathspec
388  + ls-files: convert to use parse_pathspec
389  + rm: convert to use parse_pathspec
390  + checkout: convert to use parse_pathspec
391  + rerere: convert to use parse_pathspec
392  + status: convert to use parse_pathspec
393  + commit: convert to use parse_pathspec
394  + clean: convert to use parse_pathspec
395  + guard against new pathspec magic in pathspec matching code
396  + parse_pathspec: support prefixing original patterns
397  + parse_pathspec: support stripping/checking submodule paths
398  + parse_pathspec: support stripping submodule trailing slashes
399  + parse_pathspec: add special flag for max_depth feature
400  + convert some get_pathspec() calls to parse_pathspec()
401  + parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL} flags
402  + parse_pathspec: save original pathspec for reporting
403  + add parse_pathspec() that converts cmdline args to struct pathspec
404  + pathspec: add copy_pathspec
405  + pathspec: i18n-ize error strings in pathspec parsing code
406  + move struct pathspec and related functions to pathspec.[ch]
407  + clean: remove unused variable "seen"
408  (this branch is tangled with jl/submodule-mv.)
410  Originally merged to 'next' on 2013-07-23
412  Use "struct pathspec" interface in more places, instead of array of
413  characters, the latter of which cannot express magic pathspecs
414  (e.g. ":(icase)makefile" that matches both Makefile and makefile).
417 * nd/sq-quote-buf (2013-07-30) 3 commits
418   (merged to 'next' on 2013-08-28 at d0ffd55)
419  + quote: remove sq_quote_print()
420  + tar-tree: remove dependency on sq_quote_print()
421  + for-each-ref, quote: convert *_quote_print -> *_quote_buf
423  Originally merged to 'next' on 2013-08-01
425  Code simplification as a preparatory step to something larger.
428 * rr/feed-real-path-to-editor (2013-07-29) 1 commit
429   (merged to 'next' on 2013-08-28 at 7458fa4)
430  + editor: use canonicalized absolute path
432  Originally merged to 'next' on 2013-07-30
435 * sb/diff-delta-remove-needless-comparison (2013-08-18) 1 commit
436   (merged to 'next' on 2013-08-28 at ba09c3f)
437  + create_delta_index: simplify condition always evaluating to true
439  Originally merged to 'next' on 2013-08-20
442 * sb/misc-cleanup (2013-08-09) 3 commits
443   (merged to 'next' on 2013-08-28 at bc2045b)
444  + rm: remove unneeded null pointer check
445  + diff: fix a possible null pointer dereference
446  + diff: remove ternary operator evaluating always to true
448  Originally merged to 'next' on 2013-08-14
451 * sb/parseopt-boolean-removal (2013-08-07) 9 commits
452   (merged to 'next' on 2013-08-28 at 2f3f21f)
453  + revert: use the OPT_CMDMODE for parsing, reducing code
454  + checkout-index: fix negations of even numbers of -n
455  + config parsing options: allow one flag multiple times
456  + hash-object: replace stdin parsing OPT_BOOLEAN by OPT_COUNTUP
457  + branch, commit, name-rev: ease up boolean conditions
458  + checkout: remove superfluous local variable
459  + log, format-patch: parsing uses OPT__QUIET
460  + Replace deprecated OPT_BOOLEAN by OPT_BOOL
461  + Remove deprecated OPTION_BOOLEAN for parsing arguments
462  (this branch uses jc/parseopt-command-modes.)
464  Convert most uses of OPT_BOOLEAN/OPTION_BOOLEAN that can use
465  OPT_BOOL/OPTION_BOOLEAN which have much saner semantics, and turn
466  remaining ones into OPT_SET_INT, OPT_COUNTUP, etc. as necessary.
469 * sg/bash-prompt-lf-in-cwd-test (2013-08-18) 1 commit
470   (merged to 'next' on 2013-08-28 at eb449b5)
471  + bash prompt: test the prompt with newline in repository path
473  Originally merged to 'next' on 2013-08-20
476 * sp/clip-read-write-to-8mb (2013-08-20) 2 commits
477   (merged to 'next' on 2013-08-28 at c9840d7)
478  + Revert "compat/clipped-write.c: large write(2) fails on Mac OS X/XNU"
479  + xread, xwrite: limit size of IO to 8MB
481  Originally merged to 'next' on 2013-08-22
483  Send a large request to read(2)/write(2) as a smaller but still
484  reasonably large chunks, which would improve the latency when the
485  operation needs to be killed and incidentally works around broken
486  64-bit systems that cannot take a 2GB write or read in one go.
489 * tg/index-struct-sizes (2013-08-20) 1 commit
490   (merged to 'next' on 2013-08-28 at c815042)
491  + read-cache: use fixed width integer types
493  Originally merged to 'next' on 2013-08-22
495  The code that reads from a region that mmaps an on-disk index
496  assumed that "int"/"short" are always 32/16 bits.
499 * tr/fd-gotcha-fixes (2013-08-06) 1 commit
500   (merged to 'next' on 2013-08-28 at 5305271)
501  + t0070: test that git_mkstemps correctly checks return value of open()
503  Originally merged to 'next' on 2013-08-08
505  Finishing touches to an earlier fix already in 'master'.
508 * tr/log-full-diff-keep-true-parents (2013-08-05) 2 commits
509   (merged to 'next' on 2013-08-28 at e86ec11)
510  + log: use true parents for diff when walking reflogs
511  + log: use true parents for diff even when rewriting
513  Originally merged to 'next' on 2013-08-08
515  Output from "git log --full-diff -- <pathspec>" looked strange,
516  because comparison was done with the previous ancestor that touched
517  the specified <pathspec>, causing the patches for paths outside the
518  pathspec to show more than the single commit has changed.
520  Tweak "git reflog -p" for the same reason using the same mechanism.
522 --------------------------------------------------
523 [New Topics]
525 * js/add-i-mingw (2013-09-04) 1 commit
526  - add--interactive: fix external command invocation on Windows
528  The implementation of "add -i" has a crippling code to work around
529  ActiveState Perl limitation but it by mistake also triggered on Git
530  for Windows where MSYS perl is used.
532  Will merge to 'next'.
535 * rh/ishes-doc (2013-09-04) 7 commits
536  - glossary: fix and clarify the definition of 'ref'
537  - revisions.txt: fix and clarify <rev>^{<type>}
538  - glossary: more precise definition of tree-ish (a.k.a. treeish)
539  - use 'commit-ish' instead of 'committish'
540  - use 'tree-ish' instead of 'treeish'
541  - glossary: define commit-ish (a.k.a. committish)
542  - glossary: mention 'treeish' as an alternative to 'tree-ish'
544  We liberally use "committish" and "commit-ish" (and "treeish" and
545  "tree-ish"); as these are non-words, let's unify these terms to
546  their dashed form.  More importantly, clarify the documentation on
547  object peeling using these terms.
549  Will merge to 'next'.
552 * jc/commit-is-spelled-with-two-ems (2013-09-05) 2 commits
553   (merged to 'next' on 2013-09-05 at 982aef2)
554  + typofix: cherry is spelled with two ars
555  + typofix: commit is spelled with two ems
557  Will merge to 'master'.
560 * bc/http-backend-allow-405 (2013-09-09) 1 commit
561  - http-backend: provide Allow header for 405
563  When the webserver responds with "405 Method Not Allowed", it
564  should tell the client what methods are allowed with the "Allow"
565  header.
567  Will merge to 'next'.
570 * dw/check-ignore-sans-index (2013-09-05) 2 commits
571  - SQUASH??? do not let --no-index squat on short-and-sweet -i for now
572  - check-ignore: Add option to ignore index contents
574  "git check-ignore" follows the same rule as "git add" and "git
575  status" in that the ignore/exclude mechanism does not take effect
576  on paths that are already tracked.  With "--no-index" option, it
577  can be used to diagnose which paths that should have been ignored
578  have been mistakenly added to the index.
580  Will squash the tip in and merge to 'next'.
583 * hu/cherry-pick-previous-branch (2013-09-09) 1 commit
584  - cherry-pick: allow "-" as abbreviation of '@{-1}'
586  Just like "git checkout -" knows to check out and "git merge -"
587  knows to merge the branch you were previously on, teach "git
588  cherry-pick" to understand "-" as the previous branch.
590  Will merge to 'next'.
593 * jh/checkout-auto-tracking (2013-09-09) 5 commits
594  - branch.c: Relax unnecessary requirement on upstream's remote ref name
595  - t3200: Add test demonstrating minor regression in 41c21f2
596  - Refer to branch.<name>.remote/merge when documenting --track
597  - t3200: Minor fix when preparing for tracking failure
598  - t2024: Fix &&-chaining and a couple of typos
600  Fix a minor regression in v1.8.3.2 and later that made it
601  impossible to base your local work on anything but a local branch
602  of the upstream repository you are tracking from.
604  Will merge to 'next'.
607 * jk/remove-remote-helpers-in-python (2013-09-09) 1 commit
608  - git_remote_helpers: remove little used Python library
610  Remove now disused remote-helpers framework for helpers written in
611  Python.
613  Will merge to 'next'.
616 * jk/upload-pack-keepalive (2013-09-09) 2 commits
617  - upload-pack: bump keepalive default to 5 seconds
618  - upload-pack: send keepalive packets during pack computation
620  When running "fetch -q", a long silence while the sender side
621  computes the set of objects to send can be mistaken by proxies as
622  dropped connection.
624  Will merge to 'next'.
627 * mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit
628  - rebase: fix run_specific_rebase's use of "return" on FreeBSD
630  Work around a bug in FreeBSD shell that caused a regression to "git
631  rebase" in v1.8.4.  It would be lovely to hear from FreeBSD folks a
632  success report to make sure we didn't miss any other use of a bare
633  "return" from dot-sourced script.
635  Will merge to 'next'.
638 * ss/doclinks (2013-09-06) 1 commit
639  - Documentation: make AsciiDoc links always point to HTML files
641  When we converted many documents that were traditionally text-only
642  to be formatted to AsciiDoc, we did not update links that point at
643  them to refer to the formatted HTML files.
645  Will merge to 'next'.
648 * uh/git-svn-serf-fix (2013-09-06) 1 commit
649  - git-svn: fix termination issues for remote svn connections
651  "git-svn" used with SVN 1.8.0 when talking over https:// connection
652  dumped core due to a bug in the serf library that SVN uses.  Work
653  it around on our side, even though the SVN side is being fixed.
655 --------------------------------------------------
656 [Stalled]
658 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
659  - git-send-email: Cache generated message-ids, use them when prompting
660  - git-send-email: add optional 'choices' parameter to the ask sub
663 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
664  - ### DONTMERGE: needs better explanation on what config they need
665  - pack-refs.c: Add missing call to git_config()
666  - show-ref.c: Add missing call to git_config()
668  The changes themselves are probably good, but it is unclear what
669  basic setting needs to be read for which exact operation.
671  Waiting for clarification.
672  $gmane/228294
675 * jh/shorten-refname (2013-05-07) 4 commits
676  - t1514: refname shortening is done after dereferencing symbolic refs
677  - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
678  - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
679  - t1514: Add tests of shortening refnames in strict/loose mode
681  When remotes/origin/HEAD is not a symbolic ref, "rev-parse
682  --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
683  "origin/HEAD", which is fixed with this series (if it is a symbolic
684  ref that points at remotes/origin/something, then it should show
685  "origin/something" and it already does).
687  Expecting a reroll, as an early part of a larger series.
688  $gmane/225137
691 * mg/more-textconv (2013-05-10) 7 commits
692  - grep: honor --textconv for the case rev:path
693  - grep: allow to use textconv filters
694  - t7008: demonstrate behavior of grep with textconv
695  - cat-file: do not die on --textconv without textconv filters
696  - show: honor --textconv for blobs
697  - diff_opt: track whether flags have been set explicitly
698  - t4030: demonstrate behavior of show with textconv
700  Make "git grep" and "git show" pay attention to --textconv when
701  dealing with blob objects.
703  I thought this was pretty well designed and executed, but it seems
704  there are some doubts on the list; kicked back to 'pu'.
707 * jc/format-patch (2013-04-22) 2 commits
708  - format-patch: --inline-single
709  - format-patch: rename "no_inline" field
711  A new option to send a single patch to the standard output to be
712  appended at the bottom of a message.  I personally have no need for
713  this, but it was easy enough to cobble together.  Tests, docs and
714  stripping out more MIMEy stuff are left as exercises to interested
715  parties.
717  Not ready for inclusion.
719  Will discard unless we hear from anybody who is interested in
720  tying its loose ends.
723 * jk/gitweb-utf8 (2013-04-08) 4 commits
724  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
725  - gitweb: Don't append ';js=(0|1)' to external links
726  - gitweb: Make feed title valid utf8
727  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
729  Various fixes to gitweb.
731  Drew Northup volunteered to take a look into this.
732  $gmane/226216
735 * jc/show-branch (2013-06-07) 5 commits
736  - show-branch: use commit slab to represent bitflags of arbitrary width
737  - show-branch.c: remove "all_mask"
738  - show-branch.c: abstract out "flags" operation
739  - show-branch.c: lift all_mask/all_revs to a global static
740  - show-branch.c: update comment style
742  Waiting for the final step to lift the hard-limit before sending it out.
744 --------------------------------------------------
745 [Cooking]
747 * fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits
748  - contrib/remote-helpers: quote variable references in redirection targets
749  - contrib/remote-helpers: style updates for test scripts
750  - remote-hg: use notes to keep track of Hg revisions
751  - remote-helpers: cleanup more global variables
752  - remote-helpers: trivial style fixes
753  - remote-hg: improve basic test
754  - remote-hg: add missing &&s in the test
755  - remote-hg: fix test
756  - remote-bzr: make bzr branches configurable per-repo
757  - remote-bzr: fix export of utf-8 authors
759  Will merge to 'next'.
762 * jc/pager-configuration-doc (2013-08-29) 1 commit
763   (merged to 'next' on 2013-09-05 at 3169083)
764  + config: rewrite core.pager documentation
766  It was unclear in the documentation how various configurations and
767  environment variables determine which pager is eventually used.
769  Will merge to 'master'.
772 * np/pack-v4 (2013-09-03) 24 commits
773  - Document pack v4 format
774  - initial pack index v3 support on the read side
775  - pack v4: add progress display
776  - pack v4: normalize pack name to properly generate the pack index file name
777  - pack index v3
778  - pack v4: relax commit parsing a bit
779  - pack v4: honor pack.compression config option
780  - pack v4: load delta candidate for encoding tree objects
781  - pack v4: tree object delta encoding
782  - pack v4: object writing
783  - pack v4: object data copy
784  - pack v4: object headers
785  - pack v4: creation code
786  - pack v4: dictionary table output
787  - pack v4: tree object encoding
788  - pack v4: commit object encoding
789  - pack v4: basic references encoding
790  - pack v4: move to struct pack_idx_entry and get rid of our own struct idx_entry
791  - pack v4: split the object list and dictionary creation
792  - pack v4: add commit object parsing
793  - pack v4: add tree entry mode support to dictionary entries
794  - pack v4: scan tree objects
795  - export packed_object_info()
796  - pack v4: initial pack dictionary structure and code
798  Will replace with a newer version of the series.
801 * jk/free-tree-buffer (2013-06-06) 1 commit
802   (merged to 'next' on 2013-09-09 at 3576189)
803  + clear parsed flag when we free tree buffers
805  Will merge to 'master'.
808 * jk/has-sha1-file-retry-packed (2013-08-30) 1 commit
809   (merged to 'next' on 2013-09-09 at fc42e9b)
810  + has_sha1_file: re-check pack directory before giving up
812  When an object is not found after checking the packfiles and then
813  loose object directory, read_sha1_file() re-checks the packfiles to
814  prevent racing with a concurrent repacker; teach the same logic to
815  has_sha1_file().
817  Will merge to 'master'.
820 * ab/gitweb-author-initials (2013-08-30) 1 commit
821   (merged to 'next' on 2013-09-09 at ecb924d)
822  + gitweb: Fix the author initials in blame for non-ASCII names
824  Will merge to 'master'.
827 * bk/refs-multi-update (2013-09-09) 8 commits
828  - update-ref: add test cases covering --stdin signature
829  - update-ref: support multiple simultaneous updates
830  - refs: add update_refs for multiple simultaneous updates
831  - refs: add function to repack without multiple refs
832  - refs: factor delete_ref loose ref step into a helper
833  - refs: factor update_ref steps into helpers
834  - refs: report ref type from lock_any_ref_for_update
835  - reset: rename update_refs to reset_refs
837  Give "update-refs" a "--stdin" option to read multiple update
838  requests and perform them in an all-or-none fashion.
840  Comments?
843 * fc/at-head (2013-09-09) 3 commits
844  - SQUASH??? fixup
845  - Add new @ shortcut for HEAD
846  - sha1-name: pass len argument to interpret_branch_name()
848  Attempt to resurrect "Type @ for HEAD"; the bottom one seems to be
849  a genuine code improvement, but identifying cases where "@" means
850  HEAD were harder than it should have been.  I think the result of
851  squashing the tip one in covers all the necessary cases.
853  Will squash the tip in and merge to 'next'.
856 * fc/fast-export (2013-09-03) 2 commits
857   (merged to 'next' on 2013-09-09 at 8d5d396)
858  + fast-export: refactor get_tags_and_duplicates()
859  + fast-export: make extra_refs global
861  Code simpification.
863  Will merge to 'master'.
866 * fc/rev-parse-test-updates (2013-09-03) 4 commits
867   (merged to 'next' on 2013-09-09 at 92c51ef)
868  + rev-parse test: use standard test functions for setup
869  + rev-parse test: use test_cmp instead of "test" builtin
870  + rev-parse test: use test_must_fail, not "if <command>; then false; fi"
871  + rev-parse test: modernize quoting and whitespace
873  Modernize tests.
875  Will merge to 'master'.
878 * fc/t3200-fixes (2013-09-03) 3 commits
879   (merged to 'next' on 2013-09-09 at 3626363)
880  + t: branch: fix broken && chains
881  + t: branch: fix typo
882  + t: branch: trivial style fix
884  Will merge to 'master'.
887 * fc/trivial (2013-09-08) 5 commits
888   (merged to 'next' on 2013-09-09 at a8ad2e1)
889  + pull: use $curr_branch_short more
890  + add: trivial style cleanup
891  + reset: trivial style cleanup
892  + branch: trivial style fix
893  + reset: trivial refactoring
895  Will merge to 'master'.
898 * jc/ref-excludes (2013-09-03) 2 commits
899  - document --exclude option
900  - revision: introduce --exclude=<glob> to tame wildcards
902  People often wished a way to tell "git log --branches" (and "git
903  log --remotes --not --branches") to exclude some local branches
904  from the expansion of "--branches" (similarly for "--tags", "--all"
905  and "--glob=<pattern>").  Now they have one.
907  Will merge to 'next'.
910 * jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit
911   (merged to 'next' on 2013-09-09 at c9cfbaa)
912  + pager: turn on "cat" optimization for DEFAULT_PAGER
914  If a build-time fallback is set to "cat" instead of "less", we
915  should apply the same "no subprocess or pipe" optimization as we
916  apply to user-supplied GIT_PAGER=cat.
918  Will merge to 'master'.
921 * nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit
922   (merged to 'next' on 2013-09-09 at 5b0a4bf)
923  + Make setup_git_env() resolve .git file when $GIT_DIR is not specified
925  We made sure that we notice the user-supplied GIT_DIR is actually a
926  gitfile, but failed to do so when the default ".git" is a gitfile.
928  Will merge to 'master'.
931 * nr/git-cd-to-a-directory (2013-09-09) 1 commit
932  - git: run in a directory given with -C option
934  Just like "make -C <directory>", make "git -C <directory> ..." to
935  go there before doing anything else.
937  Will merge to 'next'.
940 * rh/peeling-tag-to-tag (2013-09-03) 2 commits
941  - peel_onion: do not assume length of x_type globals
942  - peel_onion(): add support for <rev>^{tag}
944  Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
945  "foo" is not a tag.
947  Will merge to 'next'.
950 * cc/replace-with-the-same-type (2013-09-09) 8 commits
951  - Doc: 'replace' merge and non-merge commits
952  - t6050-replace: use some long option names
953  - replace: allow long option names
954  - Documentation/replace: add Creating Replacement Objects section
955  - t6050-replace: add test to clean up all the replace refs
956  - t6050-replace: test that objects are of the same type
957  - Documentation/replace: state that objects must be of the same type
958  - replace: forbid replacing an object with one of a different type
960  Using the replace mechanism to swap an object with another object
961  of a different type can introduce inconsistency (e.g. a tree
962  expects an object name to refer to a blob, but the blob object can
963  be mistakenly or maliciously replaced with an object with a
964  different type). Attempt to forbid such.
966  Will merge to 'next'.
969 * jx/clean-interactive (2013-08-28) 1 commit
970   (merged to 'next' on 2013-09-09 at 477fec6)
971  + documentation: clarify notes for clean.requireForce
973  Finishing touches to update the document to adjust to a new option
974  "git clean" learned recently.
976  Will merge to 'master'.
979 * mm/status-without-comment-char (2013-09-06) 6 commits
980  - status: add missing blank line after list of "other" files
981  - tests: don't set status.displayCommentPrefix file-wide
982  - status: disable display of '#' comment prefix by default
983  - submodule summary: ignore --for-status option
984  - wt-status: use argv_array API
985  - builtin/stripspace.c: fix broken indentation
987  Allow "git status" to omit the prefix to make its output a comment
988  in a commit log editor, which is not necessary for human
989  consumption.
991  We may want to tighten the output to omit unnecessary trailing
992  blank lines, but that does not have to be in the scope of this
993  series.
995  Will merge to 'next'.
998 * js/xread-in-full (2013-08-20) 1 commit
999   (merged to 'next' on 2013-09-04 at 5bfb049)
1000  + stream_to_pack: xread does not guarantee to read all requested bytes
1002  Originally merged to 'next' on 2013-08-20
1004  A call to xread() was used without a loop around to cope with short
1005  read in the codepath to stream new contents to a pack.
1007  Will merge to 'master' in the third batch.
1010 * sb/mailmap-freeing-NULL-is-ok (2013-08-20) 1 commit
1011   (merged to 'next' on 2013-09-04 at c831015)
1012  + mailmap: remove redundant check for freeing memory
1014  Originally merged to 'next' on 2013-08-20
1016  Will merge to 'master' in the third batch.
1019 * bc/submodule-status-ignored (2013-09-04) 2 commits
1020  - submodule: don't print status output with ignore=all
1021  - submodule: fix confusing variable name
1023  Originally merged to 'next' on 2013-08-22
1025  Will merge to 'next'.
1028 * jk/config-int-range-check (2013-09-09) 5 commits
1029   (merged to 'next' on 2013-09-09 at 9ab779d)
1030  + git-config: always treat --int as 64-bit internally
1031  + config: make numeric parsing errors more clear
1032  + config: set errno in numeric git_parse_* functions
1033  + config: properly range-check integer values
1034  + config: factor out integer parsing from range checks
1036  Originally merged to 'next' on 2013-08-22
1038  "git config --int section.var 3g" should somehow diagnose that the
1039  number does not fit in "int" (on 32-bit platforms anyway) but it
1040  did not.
1042  Will merge to 'master'.
1045 * jk/duplicate-objects-in-packs (2013-09-04) 5 commits
1046   (merged to 'next' on 2013-09-09 at 72f2c3d)
1047  + t5308: check that index-pack --strict detects duplicate objects
1048  + test index-pack on packs with recoverable delta cycles
1049  + add tests for indexing packs with delta cycles
1050  + sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
1051  + test-sha1: add a binary output mode
1053  A packfile that stores the same object more than once is broken and
1054  will be rejected.
1056  Will merge to 'master'.
1059 * mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits
1060   (merged to 'next' on 2013-09-05 at f8313f4)
1061  + git-remote-mediawiki: no need to update private ref in non-dumb push
1062  + git-remote-mediawiki: use no-private-update capability on dumb push
1063  + transport-helper: add no-private-update capability
1064  + git-remote-mediawiki: add test and check Makefile targets
1066  Will merge to 'master'.
1069 * rt/rebase-p-no-merge-summary (2013-08-21) 1 commit
1070   (merged to 'next' on 2013-09-04 at d8d89ee)
1071  + rebase --preserve-merges: ignore "merge.log" config
1073  Originally merged to 'next' on 2013-08-22
1075  "git rebase -p" internally used the merge machinery, but when
1076  rebasing, there should not be a need for merge summary.
1078  Will merge to 'master' in the third batch.
1081 * dw/diff-no-index-doc (2013-08-28) 2 commits
1082  - diff --no-index: describe in a separate paragraph
1083  - diff --no-index: clarify operation when not inside a repository
1085  When the user types "git diff" outside a working tree, thinking he
1086  is inside one, the current error message that is a single-liner
1087  "usage: git diff --no-index <path> <path>" may not be sufficient to
1088  make him realize the mistake. Add "Not a git repository" to the
1089  error message when we fell into the "--no-index" mode without an
1090  explicit command line option to instruct us to do so.
1092  Will merge to 'next'.
1095 * sb/repack-in-c (2013-08-30) 2 commits
1096  - repack: retain the return value of pack-objects
1097  - repack: rewrite the shell script in C
1099  Any further reviews?
1102 * ap/commit-author-mailmap (2013-08-24) 1 commit
1103   (merged to 'next' on 2013-09-09 at 79d5a20)
1104  + commit: search author pattern against mailmap
1106  "git commit --author=$name", when $name is not in the canonical
1107  "A. U. Thor <au.thor@example.xz>" format, looks for a matching name
1108  from existing history, but did not consult mailmap to grab the
1109  preferred author name.
1111  Will merge to 'master'.
1114 * jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit
1115   (merged to 'next' on 2013-09-09 at 6953f27)
1116  + write_index: optionally allow broken null sha1s
1118  Earlier we started rejecting an attempt to add 0{40} object name to
1119  the index and to tree objects, but it sometimes is necessary to
1120  allow so to be able to use tools like filter-branch to correct such
1121  broken tree objects.
1123  Will merge to 'master'.
1126 * kk/tests-with-no-perl (2013-08-24) 4 commits
1127   (merged to 'next' on 2013-09-09 at 67510b1)
1128  + reset test: modernize style
1129  + t/t7106-reset-unborn-branch.sh: Add PERL prerequisite
1130  + add -i test: use skip_all instead of repeated PERL prerequisite
1131  + Make test "using invalid commit with -C" more strict
1133  Some tests were not skipped under NO_PERL build.
1135  Will merge to 'master'.
1138 * mm/fast-import-feature-doc (2013-08-25) 1 commit
1139   (merged to 'next' on 2013-09-05 at 83802e2)
1140  + Documentation/fast-import: clarify summary for `feature` command
1142  Will merge to 'master'.
1145 * mm/remote-helpers-doc (2013-08-26) 1 commit
1146   (merged to 'next' on 2013-09-05 at c181b35)
1147  + Documentation/remote-helpers: document common use-case for private ref
1149  Will merge to 'master'.
1152 * mn/doc-pack-heu-remove-dead-pastebin (2013-08-23) 1 commit
1153   (merged to 'next' on 2013-09-05 at 5caecec)
1154  + remove dead pastebin link from pack-heuristics document
1156  Will merge to 'master'.
1159 * ta/user-manual (2013-08-27) 11 commits
1160  - "git prune" is safe
1161  - Remove irrelevant reference from "Tying it all together"
1162  - Remove unnecessary historical note from "Object storage format"
1163  - Improve section "Merging multiple trees"
1164  - Improve section "Manipulating branches"
1165  - Simplify "How to make a commit"
1166  - Fix some typos and improve wording
1167  - Use "git merge" instead of "git pull ."
1168  - Use current output for "git repack"
1169  - Use current "detached HEAD" message
1170  - Call it "Git User Manual" and remove reference to very old Git version
1172  Update the user's manual to more recent versions of Git.
1174  Will merge to 'next'.
1177 * tb/precompose-autodetect-fix (2013-08-27) 1 commit
1178   (merged to 'next' on 2013-09-09 at 9bfdac1)
1179  + Set core.precomposeunicode to true on e.g. HFS+
1181  On MacOS X, we detected if the filesystem needs the "pre-composed
1182  unicode strings" workaround, but did not automatically enable it.
1183  Now we do.
1185  Will merge to 'master'.
1188 * tf/gitweb-ss-tweak (2013-08-20) 4 commits
1189   (merged to 'next' on 2013-09-04 at 774bfbe)
1190  + gitweb: make search help link less ugly
1191  + gitweb: omit the repository owner when it is unset
1192  + gitweb: vertically centre contents of page footer
1193  + gitweb: ensure OPML text fits inside its box
1195  Originally merged to 'next' on 2013-08-22
1197  Tweak Gitweb CSS to layout some elements better.
1199  Will merge to 'master' in the third batch.
1202 * es/rebase-i-respect-core-commentchar (2013-08-18) 1 commit
1203   (merged to 'next' on 2013-09-04 at 8c1ce68)
1204  + rebase -i: fix cases ignoring core.commentchar
1206  Originally merged to 'next' on 2013-08-20
1208  "rebase -i" forgot that the comment character can be configurable
1209  while reading its insn sheet.
1211  Will merge to 'master' in the third batch.
1214 * jx/branch-vv-always-compare-with-upstream (2013-08-26) 2 commits
1215  - status: always show tracking branch even no change
1216  - branch: report invalid tracking branch as gone
1218  "git branch -v -v" (and "git status") did not distinguish among a
1219  branch that does not build on any other branch, a branch that is in
1220  sync with the branch it builds on, and a branch that is configured
1221  to build on some other branch that no longer exists.
1223  Will merge to 'next'.
1226 * nd/fetch-into-shallow (2013-08-28) 7 commits
1227   (merged to 'next' on 2013-09-09 at 87a3b99)
1228  + Add testcase for needless objects during a shallow fetch
1229  + list-objects: mark more commits as edges in mark_edges_uninteresting
1230  + list-objects: reduce one argument in mark_edges_uninteresting
1231  + upload-pack: delegate rev walking in shallow fetch to pack-objects
1232  + shallow: add setup_temporary_shallow()
1233  + shallow: only add shallow graft points to new shallow file
1234  + move setup_alternate_shallow and write_shallow_commits to shallow.c
1236  When there is no sufficient overlap between old and new history
1237  during a fetch into a shallow repository, we unnecessarily sent
1238  objects the sending side knows the receiving end has.
1240  Will merge to 'master'.
1243 * jc/ls-files-killed-optim (2013-08-23) 4 commits
1244   (merged to 'next' on 2013-09-04 at 20c2304)
1245  + dir.c::test_one_path(): work around directory_exists_in_index_icase() breakage
1246  + t3010: update to demonstrate "ls-files -k" optimization pitfalls
1247  + ls-files -k: a directory only can be killed if the index has a non-directory
1248  + dir.c: use the cache_* macro to access the current index
1250  Originally merged to 'next' on 2013-08-27
1252  "git ls-files -k" needs to crawl only the part of the working tree
1253  that may overlap the paths in the index to find killed files, but
1254  shared code with the logic to find all the untracked files, which
1255  made it unnecessarily inefficient.
1257  Will merge to 'master' in the third batch.
1260 * es/rebase-i-no-abbrev (2013-08-25) 3 commits
1261   (merged to 'next' on 2013-09-04 at 6027805)
1262  + rebase -i: fix short SHA-1 collision
1263  + t3404: rebase -i: demonstrate short SHA-1 collision
1264  + t3404: make tests more self-contained
1266  Originally merged to 'next' on 2013-08-26
1268  The commit object names in the insn sheet that was prepared at the
1269  beginning of "rebase -i" session can become ambiguous as the
1270  rebasing progresses and the repository gains more commits. Make
1271  sure the internal record is kept with full 40-hex object names.
1273  Will merge to 'master' in the third batch.
1276 * ks/p4-view-spec (2013-09-03) 2 commits
1277  - git p4: implement view spec wildcards with "p4 where"
1278  - git p4 test: sanitize P4CHARSET
1280  Replaced with a reroll that was whitespace damaged.
1282  Waiting for the final Ack.
1285 * nd/push-no-thin (2013-08-13) 1 commit
1286   (merged to 'next' on 2013-09-04 at faa8c02)
1287  + push: respect --no-thin
1289  Originally merged to 'next' on 2013-08-14
1291  "git push --no-thin" was a no-op by mistake.
1293  Will merge to 'master' in the third batch.
1296 * sh/pull-rebase-preserve (2013-09-04) 1 commit
1297   (merged to 'next' on 2013-09-04 at 32a93bb)
1298  + pull: allow pull to preserve merges when rebasing
1300  Originally merged to 'next' on 2013-08-14
1302  "git pull --rebase" always flattened the history; pull.rebase can
1303  now be set to "preserve" to invoke "rebase --preserve-merges".
1305  Will merge to 'master' in the third batch.
1308 * jn/post-receive-utf8 (2013-08-05) 3 commits
1309   (merged to 'next' on 2013-09-04 at 3a3f480)
1310  + hooks/post-receive-email: set declared encoding to utf-8
1311  + hooks/post-receive-email: force log messages in UTF-8
1312  + hooks/post-receive-email: use plumbing instead of git log/show
1314  Originally merged to 'next' on 2013-08-20
1316  Update post-receive-email script to make sure the message contents
1317  and pathnames are encoded consistently in UTF-8.
1319  Will merge to 'master' in the third batch.
1322 * tr/merge-recursive-index-only (2013-07-07) 3 commits
1323  - merge-recursive: -Xindex-only to leave worktree unchanged
1324  - merge-recursive: untangle double meaning of o->call_depth
1325  - merge-recursive: remove dead conditional in update_stages()
1327  Will hold, until we get any user.
1330 * jc/pull-training-wheel (2013-07-19) 1 commit
1331   (merged to 'next' on 2013-08-28 at c39bd15)
1332  + pull: require choice between rebase/merge on non-fast-forward pull
1334  Originally merged to 'next' on 2013-07-22
1336  Make "git pull" (without arguments that say what branch to
1337  integrate from where) refuse with "it does not fast forward; choose
1338  between 'pull --merge' and 'pull --rebase'".
1340  Will revert the merge, wait for the discussion to settle and
1341  produce a replacement to queue again. 
1343  http://thread.gmane.org/gmane.comp.version-control.git/233554/focus=234375
1346 * jc/reflog-doc (2013-06-19) 1 commit
1347  - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
1349  Document rules to use GIT_REFLOG_ACTION variable in the scripted
1350  Porcelain.  git-rebase--interactive locally violates this, but it
1351  is a leaf user that does not call out to or dot-sources other
1352  scripts, so fixing it is not all that urgent.
1355 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
1356  - git add: -u/-A now affects the entire working tree
1358  Will cook in 'next' until Git 2.0.
1361 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
1362  - core.statinfo: remove as promised in Git 2.0
1364  Will cook in 'next' until Git 2.0.
1367 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
1368  - push: switch default from "matching" to "simple"
1370  Will cook in 'next' until Git 2.0.
1373 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
1374  - git add <pathspec>... defaults to "-A"
1376  Updated endgame for "git add <pathspec>" that defaults to "--all"
1377  aka "--no-ignore-removal".
1379  Will cook in 'next' until Git 2.0.
1382 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
1383  - diff: remove "diff-files -q" in a version of Git in a distant future
1385  Will cook in 'next' until a distant future.