What's cooking (2013/09 #04)
[git.git] / whats-cooking.txt
blob1a7355bf187ed8e31ee7398f6cd605cca92f2911
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (Sep 2013, #04; Fri, 13)
4 X-master-at: b3e7d24ca19d841eb2c5c7fce7919ebb5d370a6f
5 X-next-at: 7b94f8e7d8c83ea87e9d80f00dc6cfd2dc245329
7 What's cooking in git.git (Sep 2013, #04; Fri, 13)
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 third 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 * jc/commit-is-spelled-with-two-ems (2013-09-05) 2 commits
25   (merged to 'next' on 2013-09-05 at 982aef2)
26  + typofix: cherry is spelled with two ars
27  + typofix: commit is spelled with two ems
30 * jc/pager-configuration-doc (2013-08-29) 1 commit
31   (merged to 'next' on 2013-09-05 at 3169083)
32  + config: rewrite core.pager documentation
34  It was unclear in the documentation how various configurations and
35  environment variables determine which pager is eventually used.
38 * jk/config-int-range-check (2013-09-09) 5 commits
39   (merged to 'next' on 2013-09-09 at 9ab779d)
40  + git-config: always treat --int as 64-bit internally
41  + config: make numeric parsing errors more clear
42  + config: set errno in numeric git_parse_* functions
43  + config: properly range-check integer values
44  + config: factor out integer parsing from range checks
46  "git config" did not provide a way to set or access numbers larger
47  than a native "int" on the platform; it now provides 64-bit signed
48  integers on all platforms.
51 * mm/fast-import-feature-doc (2013-08-25) 1 commit
52   (merged to 'next' on 2013-09-05 at 83802e2)
53  + Documentation/fast-import: clarify summary for `feature` command
56 * mm/mediawiki-dumb-push-fix (2013-09-03) 4 commits
57   (merged to 'next' on 2013-09-05 at f8313f4)
58  + git-remote-mediawiki: no need to update private ref in non-dumb push
59  + git-remote-mediawiki: use no-private-update capability on dumb push
60  + transport-helper: add no-private-update capability
61  + git-remote-mediawiki: add test and check Makefile targets
64 * mm/remote-helpers-doc (2013-08-26) 1 commit
65   (merged to 'next' on 2013-09-05 at c181b35)
66  + Documentation/remote-helpers: document common use-case for private ref
69 * mn/doc-pack-heu-remove-dead-pastebin (2013-08-23) 1 commit
70   (merged to 'next' on 2013-09-05 at 5caecec)
71  + remove dead pastebin link from pack-heuristics document
73 --------------------------------------------------
74 [New Topics]
76 * jc/url-match (2013-09-12) 1 commit
77   (merged to 'next' on 2013-09-13 at 7b94f8e)
78  + urlmatch.c: recompute pointer after append_normalized_escapes
80  While normalizing a URL, we forgot that the buffer that holds it
81  could be relocated when it grows, which was a brown-paper-bag bug
82  that can lead to a crash introduced on 'master' post 1.8.4 release.
84  Will merge to 'master' in the fourth batch.
87 * jx/relative-path-regression-fix (2013-09-13) 3 commits
88  - Use simpler relative_path when set_git_dir
89  - relative_path should honor dos_drive_prefix
90  - test: use unambigous leading path (/foo) for mingw
91  (this branch uses jx/clean-interactive.)
94 * nd/unpack-entry-optim-in-pack-objects (2013-09-13) 1 commit
95  - pack-objects: no crc check when the cached version is used
97  The codepath to use data from packfiles that is only exercised in
98  pack-objects unnecessarily checked crc checksum of the pack data,
99  even when it ends up using in-core copy that it got by reading from
100  the pack (at which point the checksum was validated).
102  Will merge to 'next'.
104 --------------------------------------------------
105 [Stalled]
107 * jc/ref-excludes (2013-09-03) 2 commits
108  - document --exclude option
109  - revision: introduce --exclude=<glob> to tame wildcards
111  People often wished a way to tell "git log --branches" (and "git
112  log --remotes --not --branches") to exclude some local branches
113  from the expansion of "--branches" (similarly for "--tags", "--all"
114  and "--glob=<pattern>").  Now they have one.
116  Needs a matching change to rev-parse.
119 * rv/send-email-cache-generated-mid (2013-08-21) 2 commits
120  - git-send-email: Cache generated message-ids, use them when prompting
121  - git-send-email: add optional 'choices' parameter to the ask sub
124 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
125  - ### DONTMERGE: needs better explanation on what config they need
126  - pack-refs.c: Add missing call to git_config()
127  - show-ref.c: Add missing call to git_config()
129  The changes themselves are probably good, but it is unclear what
130  basic setting needs to be read for which exact operation.
132  Waiting for clarification.
133  $gmane/228294
136 * jh/shorten-refname (2013-05-07) 4 commits
137  - t1514: refname shortening is done after dereferencing symbolic refs
138  - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
139  - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
140  - t1514: Add tests of shortening refnames in strict/loose mode
142  When remotes/origin/HEAD is not a symbolic ref, "rev-parse
143  --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
144  "origin/HEAD", which is fixed with this series (if it is a symbolic
145  ref that points at remotes/origin/something, then it should show
146  "origin/something" and it already does).
148  Expecting a reroll, as an early part of a larger series.
149  $gmane/225137
152 * mg/more-textconv (2013-05-10) 7 commits
153  - grep: honor --textconv for the case rev:path
154  - grep: allow to use textconv filters
155  - t7008: demonstrate behavior of grep with textconv
156  - cat-file: do not die on --textconv without textconv filters
157  - show: honor --textconv for blobs
158  - diff_opt: track whether flags have been set explicitly
159  - t4030: demonstrate behavior of show with textconv
161  Make "git grep" and "git show" pay attention to --textconv when
162  dealing with blob objects.
164  I thought this was pretty well designed and executed, but it seems
165  there are some doubts on the list; kicked back to 'pu'.
168 * jc/format-patch (2013-04-22) 2 commits
169  - format-patch: --inline-single
170  - format-patch: rename "no_inline" field
172  A new option to send a single patch to the standard output to be
173  appended at the bottom of a message.  I personally have no need for
174  this, but it was easy enough to cobble together.  Tests, docs and
175  stripping out more MIMEy stuff are left as exercises to interested
176  parties.
178  Not ready for inclusion.
180  Will discard unless we hear from anybody who is interested in
181  tying its loose ends.
184 * jk/gitweb-utf8 (2013-04-08) 4 commits
185  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
186  - gitweb: Don't append ';js=(0|1)' to external links
187  - gitweb: Make feed title valid utf8
188  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
190  Various fixes to gitweb.
192  Drew Northup volunteered to take a look into this.
193  $gmane/226216
196 * jc/show-branch (2013-06-07) 5 commits
197  - show-branch: use commit slab to represent bitflags of arbitrary width
198  - show-branch.c: remove "all_mask"
199  - show-branch.c: abstract out "flags" operation
200  - show-branch.c: lift all_mask/all_revs to a global static
201  - show-branch.c: update comment style
203  Waiting for the final step to lift the hard-limit before sending it out.
205 --------------------------------------------------
206 [Cooking]
208 * bc/send-email-ssl-die-message-fix (2013-09-10) 1 commit
209   (merged to 'next' on 2013-09-13 at c6fcdf4)
210  + send-email: don't call methods on undefined values
212  When send-email comes up with an error message to die with upon
213  failure to start an SSL session, it tried to read the error string
214  from a wrong place.
216  Will merge to 'master' in the fourth batch.
219 * jc/checkout-detach-doc (2013-09-11) 1 commit
220  - checkout: update synopsys and documentation on detaching HEAD
222  "git checkout [--detach] <commit>" was listed poorly in the
223  synopsis section of its documentation.
226 * jc/cvsserver-perm-bit-fix (2013-09-11) 1 commit
227   (merged to 'next' on 2013-09-13 at 56db105)
228  + cvsserver: pick up the right mode bits
230  "git cvsserver" computed the permission mode bits incorrectly for
231  executable files.
233  Will merge to 'master' in the fourth batch.
236 * jk/trailing-slash-in-pathspec (2013-09-13) 2 commits
237  - reset: handle submodule with trailing slash
238  - rm: re-use parse_pathspec's trailing-slash removal
240  Code refactoring.
242  Will merge to 'next'.
245 * kb/msvc-compile (2013-09-11) 5 commits
246  - Windows: do not redefine _WIN32_WINNT
247  - MinGW: Fix stat definitions to work with MinGW runtime version 4.0
248  - MSVC: fix stat definition hell
249  - MSVC: fix compile errors due to macro redefinitions
250  - MSVC: fix compile errors due to missing libintl.h
252  Build updates for Windows port.
254  Will merge to 'next'.
257 * lc/filter-branch-too-many-refs (2013-09-12) 1 commit
258  - Allow git-filter-branch to process large repositories with lots of branches.
260  "git filter-branch" in a repository with many refs blew limit of
261  command line length.
263  Will merge to 'next'.
266 * mm/commit-template-squelch-advice-messages (2013-09-12) 3 commits
267   (merged to 'next' on 2013-09-13 at 410d207)
268  + commit: disable status hints when writing to COMMIT_EDITMSG
269  + wt-status: turn advice_status_hints into a field of wt_status
270  + commit: factor status configuration is a helper function
272  From the commit log template, remove irrelevant "advice" messages
273  that are shared with "git status" output.
275  Will merge to 'master' in the fifth batch.
278 * np/lookup-object-hashing (2013-09-11) 1 commit
279   (merged to 'next' on 2013-09-12 at d835ef6)
280  + lookup_object: remove hashtable_index() and optimize hash_obj()
282  Micro optimize hash function used in the object hash table.
284  Will merge to 'master' in the fifth batch.
287 * js/add-i-mingw (2013-09-04) 1 commit
288   (merged to 'next' on 2013-09-10 at 50ab841)
289  + add--interactive: fix external command invocation on Windows
291  The implementation of "add -i" has a crippling code to work around
292  ActiveState Perl limitation but it by mistake also triggered on Git
293  for Windows where MSYS perl is used.
295  Will merge to 'master' in the fourth batch.
298 * rh/ishes-doc (2013-09-04) 7 commits
299   (merged to 'next' on 2013-09-10 at 3611e8a)
300  + glossary: fix and clarify the definition of 'ref'
301  + revisions.txt: fix and clarify <rev>^{<type>}
302  + glossary: more precise definition of tree-ish (a.k.a. treeish)
303  + use 'commit-ish' instead of 'committish'
304  + use 'tree-ish' instead of 'treeish'
305  + glossary: define commit-ish (a.k.a. committish)
306  + glossary: mention 'treeish' as an alternative to 'tree-ish'
308  We liberally use "committish" and "commit-ish" (and "treeish" and
309  "tree-ish"); as these are non-words, let's unify these terms to
310  their dashed form.  More importantly, clarify the documentation on
311  object peeling using these terms.
313  Will merge to 'master' in the fourth batch.
316 * bc/http-backend-allow-405 (2013-09-12) 1 commit
317   (merged to 'next' on 2013-09-12 at bc1719f)
318  + http-backend: provide Allow header for 405
320  When the webserver responds with "405 Method Not Allowed", it
321  should tell the client what methods are allowed with the "Allow"
322  header.
324  Will merge to 'master' in the fifth batch.
327 * dw/check-ignore-sans-index (2013-09-12) 1 commit
328   (merged to 'next' on 2013-09-13 at 8daec3c)
329  + check-ignore: Add option to ignore index contents
331  "git check-ignore" follows the same rule as "git add" and "git
332  status" in that the ignore/exclude mechanism does not take effect
333  on paths that are already tracked.  With "--no-index" option, it
334  can be used to diagnose which paths that should have been ignored
335  have been mistakenly added to the index.
337  Will merge to 'master' in the fifth batch.
340 * hu/cherry-pick-previous-branch (2013-09-09) 1 commit
341   (merged to 'next' on 2013-09-12 at 36e4d9b)
342  + cherry-pick: allow "-" as abbreviation of '@{-1}'
344  Just like "git checkout -" knows to check out and "git merge -"
345  knows to merge the branch you were previously on, teach "git
346  cherry-pick" to understand "-" as the previous branch.
348  Will merge to 'master' in the fifth batch.
351 * jh/checkout-auto-tracking (2013-09-09) 5 commits
352   (merged to 'next' on 2013-09-13 at 2aa1553)
353  + branch.c: Relax unnecessary requirement on upstream's remote ref name
354  + t3200: Add test demonstrating minor regression in 41c21f2
355  + Refer to branch.<name>.remote/merge when documenting --track
356  + t3200: Minor fix when preparing for tracking failure
357  + t2024: Fix &&-chaining and a couple of typos
359  Fix a minor regression in v1.8.3.2 and later that made it
360  impossible to base your local work on anything but a local branch
361  of the upstream repository you are tracking from.
363  Will merge to 'master' in the fifth batch.
366 * jk/remove-remote-helpers-in-python (2013-09-09) 1 commit
367   (merged to 'next' on 2013-09-10 at 49c7a74)
368  + git_remote_helpers: remove little used Python library
370  Remove now disused remote-helpers framework for helpers written in
371  Python.
373  Will merge to 'master' in the fourth batch.
376 * jk/upload-pack-keepalive (2013-09-09) 2 commits
377  - upload-pack: bump keepalive default to 5 seconds
378  - upload-pack: send keepalive packets during pack computation
380  When running "fetch -q", a long silence while the sender side
381  computes the set of objects to send can be mistaken by proxies as
382  dropped connection.
384  Will merge to 'next'.
387 * mm/rebase-continue-freebsd-WB (2013-09-09) 1 commit
388   (merged to 'next' on 2013-09-13 at 82e8b91)
389  + rebase: fix run_specific_rebase's use of "return" on FreeBSD
391  Work around a bug in FreeBSD shell that caused a regression to "git
392  rebase" in v1.8.4.  It would be lovely to hear from FreeBSD folks a
393  success report to make sure we didn't miss any other use of a bare
394  "return" from dot-sourced script.
396  Will merge to 'master' in the fifth batch.
399 * ss/doclinks (2013-09-06) 1 commit
400   (merged to 'next' on 2013-09-10 at 2d029a9)
401  + Documentation: make AsciiDoc links always point to HTML files
403  When we converted many documents that were traditionally text-only
404  to be formatted to AsciiDoc, we did not update links that point at
405  them to refer to the formatted HTML files.
407  Will merge to 'master' in the fourth batch.
410 * uh/git-svn-serf-fix (2013-09-06) 1 commit
411   (merged to 'next' on 2013-09-13 at d65a9a1)
412  + git-svn: fix termination issues for remote svn connections
414  "git-svn" used with SVN 1.8.0 when talking over https:// connection
415  dumped core due to a bug in the serf library that SVN uses.  Work
416  it around on our side, even though the SVN side is being fixed.
418  Will merge to 'master' in the fourth batch.
421 * fc/contrib-bzr-hg-fixes (2013-09-03) 10 commits
422   (merged to 'next' on 2013-09-12 at f5e8684)
423  + contrib/remote-helpers: quote variable references in redirection targets
424  + contrib/remote-helpers: style updates for test scripts
425  + remote-hg: use notes to keep track of Hg revisions
426  + remote-helpers: cleanup more global variables
427  + remote-helpers: trivial style fixes
428  + remote-hg: improve basic test
429  + remote-hg: add missing &&s in the test
430  + remote-hg: fix test
431  + remote-bzr: make bzr branches configurable per-repo
432  + remote-bzr: fix export of utf-8 authors
434  Will merge to 'master' in the fourth batch.
437 * np/pack-v4 (2013-09-11) 88 commits
438  - t1050: replace one instance of show-index with verify-pack
439  - index-pack, pack-objects: allow creating .idx v2 with .pack v4
440  - unpack-objects: decode v4 trees
441  - unpack-objects: allow to save processed bytes to a buffer
442  - unpack-objects: decode v4 commits
443  - ...
445  Nico and Duy advancing the eternal vaporware pack-v4.  This is here
446  primarily for wider distribution of the preview edition.
449 * jk/free-tree-buffer (2013-06-06) 1 commit
450   (merged to 'next' on 2013-09-09 at 3576189)
451  + clear parsed flag when we free tree buffers
453  Will merge to 'master' in the fourth batch.
456 * jk/has-sha1-file-retry-packed (2013-08-30) 1 commit
457   (merged to 'next' on 2013-09-09 at fc42e9b)
458  + has_sha1_file: re-check pack directory before giving up
460  When an object is not found after checking the packfiles and then
461  loose object directory, read_sha1_file() re-checks the packfiles to
462  prevent racing with a concurrent repacker; teach the same logic to
463  has_sha1_file().
465  Will merge to 'master' in the fourth batch.
468 * ab/gitweb-author-initials (2013-08-30) 1 commit
469   (merged to 'next' on 2013-09-09 at ecb924d)
470  + gitweb: Fix the author initials in blame for non-ASCII names
472  Will merge to 'master' in the fourth batch.
475 * bk/refs-multi-update (2013-09-11) 8 commits
476   (merged to 'next' on 2013-09-13 at e6d21af)
477  + update-ref: add test cases covering --stdin signature
478  + update-ref: support multiple simultaneous updates
479  + refs: add update_refs for multiple simultaneous updates
480  + refs: add function to repack without multiple refs
481  + refs: factor delete_ref loose ref step into a helper
482  + refs: factor update_ref steps into helpers
483  + refs: report ref type from lock_any_ref_for_update
484  + reset: rename update_refs to reset_refs
486  Give "update-refs" a "--stdin" option to read multiple update
487  requests and perform them in an all-or-none fashion.
489  Will merge to 'master' in the fifth batch.
492 * fc/at-head (2013-09-12) 2 commits
493   (merged to 'next' on 2013-09-13 at d3800c2)
494  + Add new @ shortcut for HEAD
495  + sha1-name: pass len argument to interpret_branch_name()
497  Attempt to resurrect "Type @ for HEAD"; the bottom one seems to be
498  a genuine code improvement, but identifying cases where "@" means
499  HEAD were harder than it should have been.  I think the result of
500  squashing the tip one in covers all the necessary cases.
502  Will merge to 'master' in the fifth batch.
505 * fc/fast-export (2013-09-03) 2 commits
506   (merged to 'next' on 2013-09-09 at 8d5d396)
507  + fast-export: refactor get_tags_and_duplicates()
508  + fast-export: make extra_refs global
510  Code simpification.
512  Will merge to 'master' in the fourth batch.
515 * fc/rev-parse-test-updates (2013-09-03) 4 commits
516   (merged to 'next' on 2013-09-09 at 92c51ef)
517  + rev-parse test: use standard test functions for setup
518  + rev-parse test: use test_cmp instead of "test" builtin
519  + rev-parse test: use test_must_fail, not "if <command>; then false; fi"
520  + rev-parse test: modernize quoting and whitespace
522  Modernize tests.
524  Will merge to 'master' in the fourth batch.
527 * fc/t3200-fixes (2013-09-03) 3 commits
528   (merged to 'next' on 2013-09-09 at 3626363)
529  + t: branch: fix broken && chains
530  + t: branch: fix typo
531  + t: branch: trivial style fix
533  Will merge to 'master' in the fourth batch.
536 * fc/trivial (2013-09-08) 5 commits
537   (merged to 'next' on 2013-09-09 at a8ad2e1)
538  + pull: use $curr_branch_short more
539  + add: trivial style cleanup
540  + reset: trivial style cleanup
541  + branch: trivial style fix
542  + reset: trivial refactoring
544  Will merge to 'master' in the fourth batch.
547 * jk/pager-bypass-cat-for-default-pager (2013-09-03) 1 commit
548   (merged to 'next' on 2013-09-09 at c9cfbaa)
549  + pager: turn on "cat" optimization for DEFAULT_PAGER
551  If a build-time fallback is set to "cat" instead of "less", we
552  should apply the same "no subprocess or pipe" optimization as we
553  apply to user-supplied GIT_PAGER=cat.
555  Will merge to 'master' in the fourth batch.
558 * nd/git-dir-pointing-at-gitfile (2013-09-03) 1 commit
559   (merged to 'next' on 2013-09-09 at 5b0a4bf)
560  + Make setup_git_env() resolve .git file when $GIT_DIR is not specified
562  We made sure that we notice the user-supplied GIT_DIR is actually a
563  gitfile, but failed to do so when the default ".git" is a gitfile.
565  Will merge to 'master' in the fourth batch.
568 * nr/git-cd-to-a-directory (2013-09-09) 1 commit
569   (merged to 'next' on 2013-09-13 at 2b07af9)
570  + git: run in a directory given with -C option
572  Just like "make -C <directory>", make "git -C <directory> ..." to
573  go there before doing anything else.
575  Will merge to 'master' in the fifth batch.
578 * rh/peeling-tag-to-tag (2013-09-03) 2 commits
579   (merged to 'next' on 2013-09-12 at 3a1d906)
580  + peel_onion: do not assume length of x_type globals
581  + peel_onion(): add support for <rev>^{tag}
583  Make "foo^{tag}" to peel a tag to itself, i.e. no-op., and fail if
584  "foo" is not a tag.
586  Will merge to 'master' in the fifth batch.
589 * cc/replace-with-the-same-type (2013-09-09) 8 commits
590  - Doc: 'replace' merge and non-merge commits
591  - t6050-replace: use some long option names
592  - replace: allow long option names
593  - Documentation/replace: add Creating Replacement Objects section
594  - t6050-replace: add test to clean up all the replace refs
595  - t6050-replace: test that objects are of the same type
596  - Documentation/replace: state that objects must be of the same type
597  - replace: forbid replacing an object with one of a different type
599  Using the replace mechanism to swap an object with another object
600  of a different type can introduce inconsistency (e.g. a tree
601  expects an object name to refer to a blob, but the blob object can
602  be mistakenly or maliciously replaced with an object with a
603  different type). Attempt to forbid such.
605  Will merge to 'next'.
608 * jx/clean-interactive (2013-08-28) 1 commit
609   (merged to 'next' on 2013-09-09 at 477fec6)
610  + documentation: clarify notes for clean.requireForce
611  (this branch is used by jx/relative-path-regression-fix.)
613  Finishing touches to update the document to adjust to a new option
614  "git clean" learned recently.
616  Will merge to 'master' in the fourth batch.
619 * mm/status-without-comment-char (2013-09-06) 6 commits
620   (merged to 'next' on 2013-09-12 at 89161b8)
621  + status: add missing blank line after list of "other" files
622  + tests: don't set status.displayCommentPrefix file-wide
623  + status: disable display of '#' comment prefix by default
624  + submodule summary: ignore --for-status option
625  + wt-status: use argv_array API
626  + builtin/stripspace.c: fix broken indentation
628  Allow "git status" to omit the prefix to make its output a comment
629  in a commit log editor, which is not necessary for human
630  consumption.
632  We may want to tighten the output to omit unnecessary trailing
633  blank lines, but that does not have to be in the scope of this
634  series.
636  Will merge to 'master' in the fifth batch.
639 * bc/submodule-status-ignored (2013-09-11) 3 commits
640   (merged to 'next' on 2013-09-11 at 9f66712)
641  + Improve documentation concerning the status.submodulesummary setting
642   (merged to 'next' on 2013-09-10 at a417960)
643  + submodule: don't print status output with ignore=all
644  + submodule: fix confusing variable name
646  Will cook in 'next' a bit.
649 * jk/duplicate-objects-in-packs (2013-09-04) 5 commits
650   (merged to 'next' on 2013-09-09 at 72f2c3d)
651  + t5308: check that index-pack --strict detects duplicate objects
652  + test index-pack on packs with recoverable delta cycles
653  + add tests for indexing packs with delta cycles
654  + sha1-lookup: handle duplicate keys with GIT_USE_LOOKUP
655  + test-sha1: add a binary output mode
657  A packfile that stores the same object more than once is broken and
658  will be rejected.
660  Will merge to 'master' in the fourth batch.
663 * dw/diff-no-index-doc (2013-08-28) 2 commits
664   (merged to 'next' on 2013-09-10 at 423c8f6)
665  + diff --no-index: describe in a separate paragraph
666  + diff --no-index: clarify operation when not inside a repository
668  When the user types "git diff" outside a working tree, thinking he
669  is inside one, the current error message that is a single-liner
670  "usage: git diff --no-index <path> <path>" may not be sufficient to
671  make him realize the mistake. Add "Not a git repository" to the
672  error message when we fell into the "--no-index" mode without an
673  explicit command line option to instruct us to do so.
675  Will merge to 'master' in the fourth batch.
678 * sb/repack-in-c (2013-08-30) 2 commits
679  - repack: retain the return value of pack-objects
680  - repack: rewrite the shell script in C
682  Any further reviews?
685 * ap/commit-author-mailmap (2013-08-24) 1 commit
686   (merged to 'next' on 2013-09-09 at 79d5a20)
687  + commit: search author pattern against mailmap
689  "git commit --author=$name", when $name is not in the canonical
690  "A. U. Thor <au.thor@example.xz>" format, looks for a matching name
691  from existing history, but did not consult mailmap to grab the
692  preferred author name.
694  Will merge to 'master' in the fourth batch.
697 * jk/write-broken-index-with-nul-sha1 (2013-08-28) 1 commit
698   (merged to 'next' on 2013-09-09 at 6953f27)
699  + write_index: optionally allow broken null sha1s
701  Earlier we started rejecting an attempt to add 0{40} object name to
702  the index and to tree objects, but it sometimes is necessary to
703  allow so to be able to use tools like filter-branch to correct such
704  broken tree objects.
706  Will merge to 'master' in the fourth batch.
709 * kk/tests-with-no-perl (2013-08-24) 4 commits
710   (merged to 'next' on 2013-09-09 at 67510b1)
711  + reset test: modernize style
712  + t/t7106-reset-unborn-branch.sh: Add PERL prerequisite
713  + add -i test: use skip_all instead of repeated PERL prerequisite
714  + Make test "using invalid commit with -C" more strict
716  Some tests were not skipped under NO_PERL build.
718  Will merge to 'master' in the fourth batch.
721 * ta/user-manual (2013-08-27) 11 commits
722   (merged to 'next' on 2013-09-10 at 1361be1)
723  + "git prune" is safe
724  + Remove irrelevant reference from "Tying it all together"
725  + Remove unnecessary historical note from "Object storage format"
726  + Improve section "Merging multiple trees"
727  + Improve section "Manipulating branches"
728  + Simplify "How to make a commit"
729  + Fix some typos and improve wording
730  + Use "git merge" instead of "git pull ."
731  + Use current output for "git repack"
732  + Use current "detached HEAD" message
733  + Call it "Git User Manual" and remove reference to very old Git version
735  Update the user's manual to more recent versions of Git.
737  Will merge to 'master' in the fourth batch.
740 * tb/precompose-autodetect-fix (2013-08-27) 1 commit
741   (merged to 'next' on 2013-09-09 at 9bfdac1)
742  + Set core.precomposeunicode to true on e.g. HFS+
744  On MacOS X, we detected if the filesystem needs the "pre-composed
745  unicode strings" workaround, but did not automatically enable it.
746  Now we do.
748  Will merge to 'master' in the fourth batch.
751 * jx/branch-vv-always-compare-with-upstream (2013-08-26) 2 commits
752   (merged to 'next' on 2013-09-12 at b5c37f4)
753  + status: always show tracking branch even no change
754  + branch: report invalid tracking branch as gone
756  "git branch -v -v" (and "git status") did not distinguish among a
757  branch that does not build on any other branch, a branch that is in
758  sync with the branch it builds on, and a branch that is configured
759  to build on some other branch that no longer exists.
761  Will merge to 'master' in the fifth batch.
764 * nd/fetch-into-shallow (2013-08-28) 7 commits
765   (merged to 'next' on 2013-09-09 at 87a3b99)
766  + Add testcase for needless objects during a shallow fetch
767  + list-objects: mark more commits as edges in mark_edges_uninteresting
768  + list-objects: reduce one argument in mark_edges_uninteresting
769  + upload-pack: delegate rev walking in shallow fetch to pack-objects
770  + shallow: add setup_temporary_shallow()
771  + shallow: only add shallow graft points to new shallow file
772  + move setup_alternate_shallow and write_shallow_commits to shallow.c
774  When there is no sufficient overlap between old and new history
775  during a fetch into a shallow repository, we unnecessarily sent
776  objects the sending side knows the receiving end has.
778  Will merge to 'master' in the fifth batch.
781 * ks/p4-view-spec (2013-09-03) 2 commits
782   (merged to 'next' on 2013-09-10 at 8ceb2ec)
783  + git p4: implement view spec wildcards with "p4 where"
784  + git p4 test: sanitize P4CHARSET
786  Replaced with a reroll that was whitespace damaged.
788  Will merge to 'master' in the fourth batch.
791 * tr/merge-recursive-index-only (2013-07-07) 3 commits
792  - merge-recursive: -Xindex-only to leave worktree unchanged
793  - merge-recursive: untangle double meaning of o->call_depth
794  - merge-recursive: remove dead conditional in update_stages()
796  Will hold, until we get any user.
799 * jc/reflog-doc (2013-06-19) 1 commit
800  - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
802  Document rules to use GIT_REFLOG_ACTION variable in the scripted
803  Porcelain.  git-rebase--interactive locally violates this, but it
804  is a leaf user that does not call out to or dot-sources other
805  scripts, so fixing it is not all that urgent.
808 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
809  - git add: -u/-A now affects the entire working tree
811  Will cook in 'next' until Git 2.0.
814 * jc/core-checkstat-2.0 (2013-05-06) 1 commit
815  - core.statinfo: remove as promised in Git 2.0
817  Will cook in 'next' until Git 2.0.
820 * jc/push-2.0-default-to-simple (2013-06-18) 1 commit
821  - push: switch default from "matching" to "simple"
823  Will cook in 'next' until Git 2.0.
826 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
827  - git add <pathspec>... defaults to "-A"
829  Updated endgame for "git add <pathspec>" that defaults to "--all"
830  aka "--no-ignore-removal".
832  Will cook in 'next' until Git 2.0.
835 * jc/hold-diff-remove-q-synonym-for-no-deletion (2013-07-19) 1 commit
836  - diff: remove "diff-files -q" in a version of Git in a distant future
838  Will cook in 'next' until a distant future.
840 --------------------------------------------------
841 [Discarded]
843 * jc/pull-training-wheel (2013-07-19) 1 commit
844   (merged to 'next' on 2013-08-28 at c39bd15)
845  + pull: require choice between rebase/merge on non-fast-forward pull
847  Make "git pull" (without arguments that say what branch to
848  integrate from where) refuse with "it does not fast forward; choose
849  between 'pull --merge' and 'pull --rebase'".
851  This topic has been reverted from 'next'.  Will wait for the
852  conclusion of the discussion to seek a more user-friendly
853  alternative; it is likely that it will be based on the simpler
854  approach Felipe posted earlier.