What's cooking (2013/05 #05)
[git/jrn.git] / whats-cooking.txt
blob1aa6f3a44faad9f2b338abfe1cd9684dae1da8c0
1 To: git@vger.kernel.org
2 Bcc: lwn@lwn.net
3 Subject: What's cooking in git.git (May 2013, #05; Mon, 20)
4 X-master-at: 9134a460e3ebfc93790e98d74b3cda2bcca8eb8b
5 X-next-at: 751216b6ed747580cebd6590282b8ff55b96ac72
7 What's cooking in git.git (May 2013, #05; Mon, 20)
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 final version of 1.8.3 is expected to be tagged late this week.
15 While applying a few regression hot-fix patches, a couple of benign
16 doc updates have also been merged to 'master'.
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 [Graduated to "master"]
26 * dw/asciidoc-sources-are-dot-txt-files (2013-05-10) 1 commit
27  - CodingGuidelines: Documentation/*.txt are the sources
30 * fc/doc-style (2013-05-09) 1 commit
31  - documentation: trivial style cleanups
33 --------------------------------------------------
34 [New Topics]
36 * fc/remote-bzr (2013-05-16) 6 commits
37  - remote-bzr: trivial cleanups
38  - remote-bzr: change global repo
39  - remote-bzr: delay cloning/pulling
40  - remote-bzr: simplify get_remote_branch()
41  - remote-bzr: fix for files with spaces
42  - remote-bzr: recover from failed clones
44  The ones near the tip conflicted with the hotfix for 1.8.3 so I
45  discarded them for now.
48 * jx/clean-interactive (2013-05-20) 15 commits
49  - test: add t7301 for git-clean--interactive
50  - git-clean: add documentation for interactive git-clean
51  - git-clean: add ask each interactive action
52  - git-clean: add select by numbers interactive action
53  - git-clean: add filter by pattern interactive action
54  - git-clean: use a git-add-interactive compatible UI
55  - git-clean: add colors to interactive git-clean
56  - git-clean: show items of del_list in columns
57  - git-clean: add support for -i/--interactive
58  - git-clean: refactor git-clean into two phases
59  - Refactor write_name_quoted_relative, remove unused params
60  - Refactor quote_path_relative, remove unused params
61  - quote.c: remove path_relative, use relative_path instead
62  - path.c: refactor relative_path(), not only strip prefix
63  - test: add test cases for relative_path
66 * tr/test-v-and-v-subtest-only (2013-05-16) 6 commits
67  - test-lib: support running tests under valgrind in parallel
68  - test-lib: allow prefixing a custom string before "ok N" etc.
69  - test-lib: valgrind for only tests matching a pattern
70  - test-lib: verbose mode for only tests matching a pattern
71  - test-lib: refactor $GIT_SKIP_TESTS matching
72  - test-lib: enable MALLOC_* for the actual tests
74  Allows N instances of tests run in parallel, each running 1/N parts
75  of the test suite under Valgrind, to speed things up.
77  The tip one may be useful in practice but is a tad ugly ;-)
80 * rh/merge-options-doc-fix (2013-05-16) 1 commit
81  - Documentation/merge-options.txt: restore `-e` option
83  Even though it is not all that urgent, this can be merged to
84  'master' before the final,
87 * rr/zsh-color-prompt (2013-05-17) 3 commits
88  - prompt: colorize ZSH prompt
89  - prompt: factor out gitstring coloring logic
90  - prompt: introduce GIT_PS1_STATESEPARATOR
93 * an/diff-index-doc (2013-05-20) 1 commit
94  - Documentation/diff-index: mention two modes of operation
97 * fc/contrib-related (2013-05-20) 1 commit
98  - Add new git-related helper to contrib
101 * mc/describe-first-parent (2013-05-20) 1 commit
102  - describe: Add --first-parent option
105 * rs/tar-tests (2013-05-20) 6 commits
106  - t5000: test long filenames
107  - t5000: simplify tar-tree tests
108  - t5000: use check_tar for prefix test
109  - t5000: factor out check_tar
110  - t5000, t5003: create directories for extracted files lazily
111  - t5000: integrate export-subst tests into regular tests
113 --------------------------------------------------
114 [Stalled]
116 * mh/multimail (2013-04-21) 1 commit
117  - git-multimail: a replacement for post-receive-email
119  Waiting for the initial history to pull from.
120  $gmane/223564
123 * jc/format-patch (2013-04-22) 2 commits
124  - format-patch: --inline-single
125  - format-patch: rename "no_inline" field
127  A new option to send a single patch to the standard output to be
128  appended at the bottom of a message.  I personally have no need for
129  this, but it was easy enough to cobble together.  Tests, docs and
130  stripping out more MIMEy stuff are left as exercises to interested
131  parties.
133  Not ready for inclusion.
136 * jk/gitweb-utf8 (2013-04-08) 4 commits
137  - gitweb: Fix broken blob action parameters on blob/commitdiff pages
138  - gitweb: Don't append ';js=(0|1)' to external links
139  - gitweb: Make feed title valid utf8
140  - gitweb: Fix utf8 encoding for blob_plain, blobdiff_plain, commitdiff_plain, and patch
142  Various fixes to gitweb.
144  Waiting for a reroll after a review.
147 * jk/commit-info-slab (2013-04-19) 3 commits
148  - commit-slab: introduce a macro to define a slab for new type
149  - commit-slab: avoid large realloc
150  - commit: allow associating auxiliary info on-demand
151  (this branch is used by jc/show-branch.)
153  Technology demonstration to show a way we could use unbound number
154  of flag bits on commit objects.
157 * jn/config-ignore-inaccessible (2013-04-15) 1 commit
158   (merged to 'next' on 2013-05-07 at 4f09e24)
159  + config: allow inaccessible configuration under $HOME
161  When $HOME is misconfigured to point at an unreadable directory, we
162  used to complain and die. This loosens the check.
164 --------------------------------------------------
165 [Cooking]
167 * da/darwin (2013-05-20) 4 commits
168  - imap-send: eliminate HMAC deprecation warnings on Mac OS X
169  - cache.h: eliminate SHA-1 deprecation warnings on Mac OS X
170  - Makefile: add support for Apple CommonCrypto facility
171  - Makefile: fix default regex settings on Darwin
173  I think this is ready for 'next'; not that it matters during the
174  prerelease feature freeze.
177 * fc/macos-x-clipped-write (2013-05-17) 1 commit
178  - compate/clipped-write.c: large write(2) fails on Mac OS X/XNU
180  I think this is ready for 'next'; not that it matters during the
181  prerelease feature freeze.
184 * fc/remote-hg (2013-05-20) 41 commits
185  - remote-hg: tests: fix hg merge
186  - remote-helpers: tests: use python directly
187  - remote-hg: remove files before modifications
188  - remote-hg: improve lightweight tag author
189  - remote-hg: use remote 'default' not local one
190  - remote-hg: improve branch listing
191  - remote-hg: simplify branch_tip()
192  - remote-hg: check diverged bookmarks
193  - remote-hg: pass around revision refs
194  - remote-hg: implement custom checkheads()
195  - remote-hg: implement custom push()
196  - remote-hg: only update necessary revisions
197  - remote-hg: force remote bookmark push selectively
198  - remote-hg: reorganize bookmark handling
199  - remote-hg: add test for failed double push
200  - remote-hg: add test for big push
201  - remote-hg: add test for new bookmark special
202  - remote-hg: add test for bookmark diverge
203  - remote-hg: add test for diverged push
204  - remote-hg: add test to push new bookmark
205  - remote-hg: add remote tests
206  - remote-hg: add check_bookmark() test helper
207  - remote-bzr: simplify test checks
208  - remote-hg: always point HEAD to master
209  - remote-hg: improve progress calculation
210  - remote-hg: trivial cleanups
211  - remote-hg: ensure remote rebasing works
212  - remote-hg: upgrade version 1 marks
213  - remote-hg: switch from revisions to SHA-1 noteids
214  - remote-hg: add version checks to the marks
215  - remote-hg: improve node traversing
216  - remote-hg: shuffle some code
217  - remote-hg: use a shared repository store
218  - remote-hg: load all extensions
219  - remote-hg: test: simplify previous branch checkout
220  - remote-helpers: test: simplify remote URLs
221  - remote-helpers: tests: general improvements
222  - remote-helpers: test: cleanup style
223  - remote-helpers: test: cleanup white-spaces
224  - remote-hg: trivial reorganization
225  - remote-hg: test: be a little more quiet
227  The tip-two need to be split into its own branch, merged to 'next'
228  and the remainder discarded to be rerolled after 1.8.3.
231 * hv/config-from-blob (2013-05-12) 5 commits
232  - do not die when error in config parsing of buf occurs
233  - teach config --blob option to parse config from database
234  - config: make parsing stack struct independent from actual data source
235  - config: drop cf validity check in get_next_char()
236  - config: factor out config file stack management
239 * jc/t5551-posix-sed-bre (2013-05-12) 1 commit
240  - t5551: do not use unportable sed '\+'
242  I think this is ready for 'next'; not that it matters during the
243  prerelease feature freeze.
246 * jk/fetch-always-update-tracking (2013-05-12) 4 commits
247  - fetch: opportunistically update tracking refs
248  - refactor "ref->merge" flag
249  - fetch/pull doc: untangle meaning of bare <ref>
250  - t5510: start tracking-ref tests from a known state
252  "git fetch origin master" unlike "git fetch origin" or "git fetch"
253  does not update "refs/remotes/origin/master" and it was an early
254  design decision to keep the update of remote tracking branches
255  predictable, but in practice it turns out that people find it more
256  convenient to opportunisticly update them whenever we have a
257  chance, and we have been updating them when we run "git push" which
258  already breaks the original "predictability" anyway.
260  I think this is ready for 'next'; not that it matters during the
261  prerelease feature freeze.
264 * nd/clone-connectivity-shortcut (2013-05-11) 4 commits
265  - clone: open a shortcut for connectivity check
266  - index-pack: remove dead code (it should never happen)
267  - fetch-pack: prepare updated shallow file before fetching the pack
268  - clone: let the user know when check_everything_connected is run
271 * rr/rebase-autostash (2013-05-12) 7 commits
272  - rebase: implement --[no-]autostash and rebase.autostash
273  - rebase --merge: return control to caller, for housekeeping
274  - rebase -i: return control to caller, for housekeeping
275  - am: return control to caller, for housekeeping
276  - rebase: prepare to do generic housekeeping
277  - rebase -i: don't error out if $state_dir already exists
278  - am: tighten a conditional that checks for $dotest
281 * kb/ancestry-path-threedots (2013-05-16) 2 commits
282  - revision.c: treat A...B merge bases as if manually specified
283  - t6019: demonstrate --ancestry-path A...B breakage
284  (this branch is used by kb/full-history-compute-treesame-carefully-2.)
286  I think this is ready for 'next'; not that it matters during the
287  prerelease feature freeze.
290 * kb/full-history-compute-treesame-carefully-2 (2013-05-16) 15 commits
291  - revision.c: make default history consider bottom commits
292  - revision.c: don't show all merges for --parents
293  - revision.c: discount side branches when computing TREESAME
294  - revision.c: add BOTTOM flag for commits
295  - simplify-merges: drop merge from irrelevant side branch
296  - simplify-merges: never remove all TREESAME parents
297  - t6012: update test for tweaked full-history traversal
298  - revision.c: Make --full-history consider more merges
299  - Documentation: avoid "uninteresting"
300  - rev-list-options.txt: correct TREESAME for P
301  - t6111: add parents to tests
302  - t6111: allow checking the parents as well
303  - t6111: new TREESAME test set
304  - t6019: test file dropped in -s ours merge
305  - decorate.c: compact table when growing
306  (this branch uses kb/ancestry-path-threedots.)
308  Major update to a very core part of the system to improve culling
309  of irrelevant parents while traversing a mergy history.
311  Will not be a 1.8.3 material, but is an important topic.
314 * jc/strbuf-branchname-fix (2013-05-16) 1 commit
315  - strbuf_branchname(): do not double-expand @{-1}~22
317  "git merge @{-1}~22" was rewritten to "git merge frotz@{1}~22"
318  incorrectly when your previous branch was "frotz" (it should be
319  rewritten to "git merge frotz~22" instead).
322 * mk/combine-diff-context-horizon-fix (2013-05-15) 1 commit
323  - combine-diff.c: Fix output when changes are exactly 3 lines apart
325  "git diff -c -p" was not showing a deleted line from a hunk when
326  another hunk immediately begins where the earlier one ends.
328  I think this is ready for 'next'; not that it matters during the
329  prerelease feature freeze.
332 * mm/color-auto-default (2013-05-15) 2 commits
333  - make color.ui default to 'auto'
334  - config: refactor management of color.ui's default value
336  Flip the default for color.ui to 'auto', which is what many
337  tutorials recommend new users to do.
339  I think this is ready for 'next', but we may want to audit
340  tutorials to see if we need to adjust them if they suggest to set
341  color.ui as the first thing to do when they meet Git.
344 * tr/coverage (2013-05-13) 4 commits
345  - coverage: build coverage-untested-functions by default
346  - coverage: set DEFAULT_TEST_TARGET to avoid using prove
347  - coverage: do not delete .gcno files before building
348  - coverage: split build target into compile and test
350  Update the test coverage support that was left to bitrot for some
351  time.
353  I think this is ready for 'next'; not that it matters during the
354  prerelease feature freeze.
357 * mg/more-textconv (2013-05-10) 7 commits
358  - grep: honor --textconv for the case rev:path
359  - grep: allow to use textconv filters
360  - t7008: demonstrate behavior of grep with textconv
361  - cat-file: do not die on --textconv without textconv filters
362  - show: honor --textconv for blobs
363  - diff_opt: track whether flags have been set explicitly
364  - t4030: demonstrate behavior of show with textconv
366  I think this is ready for 'next'; not that it matters during the
367  prerelease feature freeze.
370 * jh/shorten-refname (2013-05-07) 4 commits
371  - t1514: refname shortening is done after dereferencing symbolic refs
372  - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
373  - t1514: Demonstrate failure to correctly shorten "refs/remotes/origin/HEAD"
374  - t1514: Add tests of shortening refnames in strict/loose mode
376  When remotes/origin/HEAD is not a symbolic ref, "rev-parse
377  --abbrev-ref remotes/origin/HEAD" ought to show "origin", not
378  "origin/HEAD", which is fixed with this series (if it is a symbolic
379  ref that points at remotes/origin/something, then it should show
380  "origin/something" and it already does).
382  I think this is being rerolled using strbuf_expand().
385 * nd/clone-local-with-colon (2013-05-07) 1 commit
386  - clone: allow cloning local paths with colons in them
388  "git clone foo/bar:baz" cannot be a request to clone from a remote
389  over git-over-ssh specified in the scp style.  Detect this case and
390  clone from a local repository at "foo/bar:baz".
392  I think this is ready for 'next'; not that it matters during the
393  prerelease feature freeze.
396 * nd/warn-ambiguous-object-name (2013-05-07) 1 commit
397  - get_sha1: improve ambiguity warning regarding SHA-1 and ref names
399  "git cmd <name>", when <name> happens to be a 40-hex string,
400  directly uses the 40-hex string as an object name, even if a ref
401  "refs/<some hierarchy>/<name>" exists.  This disambiguation order
402  is unlikely to change, but we should warn about the ambiguity just
403  like we warn when more than one refs/ hierachies share the same
404  name.
406  The message needs to be fixed up, as this is not "refname is
407  ambiguous".
410 * fc/zsh-leftover-bits (2013-05-08) 2 commits
411  - completion: synchronize zsh wrapper
412  - completion: cleanup zsh wrapper
414  I think this is ready for 'next'; not that it matters during the
415  prerelease feature freeze.
418 * rs/empty-archive (2013-05-09) 2 commits
419  - t5004: resurrect original empty tar archive test
420  - t5004: avoid using tar for checking emptiness of archive
422  Fixes tests added in 1.8.2 era that are broken on BSDs,
423  but it is not all that urgent.
425  I think this is ready for 'next'; not that it matters during the
426  prerelease feature freeze.
429 * vv/help-unknown-ref (2013-05-08) 2 commits
430  - merge: use help_unknown_ref()
431  - help: add help_unknown_ref()
433  Detect "git merge foo" that might have meant "git merge origin/foo"
434  and give an error message that is more specific than "foo is not
435  something we can merge".
437  I think this is ready for 'next'; not that it matters during the
438  prerelease feature freeze.
441 * fc/fast-export-persistent-marks (2013-05-07) 3 commits
442  - fast-{import,export}: use get_sha1_hex() to read from marks file
443  - fast-export: don't parse commits while reading marks file
444  - fast-export: do not parse non-commit objects while reading marks file
446  Optimization for fast-export by avoiding unnecessarily resolving
447  arbitrary object name and parsing object when only presence and
448  type information is necessary, etc.
450  I think this is ready for 'next'; not that it matters during the
451  prerelease feature freeze.
454 * jc/core-checkstat-2.0 (2013-05-06) 2 commits
455  - core.statinfo: remove as promised in Git 2.0
456  - deprecate core.statinfo at Git 2.0 boundary
458  The bottom one is a fix for a breakage of a new feature in 1.8.2
459  but it is not all that urgent.
462 * jk/packed-refs-race (2013-05-06) 4 commits
463  - for_each_ref: load all loose refs before packed refs
464  - get_packed_refs: reload packed-refs file when it changes
465  - add a stat_validity struct
466  - resolve_ref: close race condition for packed refs
469 * fc/at-head (2013-05-08) 13 commits
470  - sha1_name: compare variable with constant, not constant with variable
471  - Add new @ shortcut for HEAD
472  - sha1_name: refactor reinterpret()
473  - sha1_name: check @{-N} errors sooner
474  - sha1_name: reorganize get_sha1_basic()
475  - sha1_name: don't waste cycles in the @-parsing loop
476  - sha1_name: remove unnecessary braces
477  - sha1_name: remove no-op
478  - tests: at-combinations: @{N} versus HEAD@{N}
479  - tests: at-combinations: increase coverage
480  - tests: at-combinations: improve nonsense()
481  - tests: at-combinations: check ref names directly
482  - tests: at-combinations: simplify setup
484  Instead of typing four capital letters "HEAD", you can say "@"
485  instead.
488 * jk/lookup-object-prefer-latest (2013-05-02) 1 commit
489   (merged to 'next' on 2013-05-06 at cc59dcc)
490  + lookup_object: prioritize recently found objects
492  Optimizes object lookup when the object hashtable starts to become
493  crowded.
496 * jk/subtree-do-not-push-if-split-fails (2013-05-01) 1 commit
497   (merged to 'next' on 2013-05-06 at 81bdf37)
498  + contrib/subtree: don't delete remote branches if split fails
500  "git subtree" (in contrib/) had one codepath with loose error
501  checks to lose data at the remote side.
504 * fc/completion (2013-04-27) 9 commits
505  - completion: remove __git_index_file_list_filter()
506  - completion: add space after completed filename
507  - completion: add hack to enable file mode in bash < 4
508  - completion: refactor __git_complete_index_file()
509  - completion: refactor diff_index wrappers
510  - completion: use __gitcompadd for __gitcomp_file
511  - completion; remove unuseful comments
512  - completion: document tilde expansion failure in tests
513  - completion: add file completion tests
515  I think this is ready for 'next'; not that it matters during the
516  prerelease feature freeze.
519 * jk/test-output (2013-05-06) 3 commits
520   (merged to 'next' on 2013-05-06 at 7c03af3)
521  + t/Makefile: don't define TEST_RESULTS_DIRECTORY recursively
522   (merged to 'next' on 2013-05-01 at 63827c9)
523  + test output: respect $TEST_OUTPUT_DIRECTORY
524  + t/Makefile: fix result handling with TEST_OUTPUT_DIRECTORY
526  When TEST_OUTPUT_DIRECTORY setting is used, it was handled somewhat
527  inconsistently between the test framework and t/Makefile, and logic
528  to summarize the results looked at a wrong place.
530  Will cook in 'next'.
533 * rj/mingw-cygwin (2013-05-08) 2 commits
534  - cygwin: Remove the CYGWIN_V15_WIN32API build variable
535  - mingw: rename WIN32 cpp macro to GIT_WINDOWS_NATIVE
537  Update build for Cygwin 1.[57].  There seems to be an ongoing
538  discussion on the list.
541 * rj/sparse (2013-04-28) 10 commits
542   (merged to 'next' on 2013-05-01 at 649e16c)
543  + sparse: Fix mingw_main() argument number/type errors
544  + compat/mingw.c: Fix some sparse warnings
545  + compat/win32mmap.c: Fix some sparse warnings
546  + compat/poll/poll.c: Fix a sparse warning
547  + compat/win32/pthread.c: Fix a sparse warning
548  + compat/unsetenv.c: Fix a sparse warning
549  + compat/nedmalloc: Fix compiler warnings on linux
550  + compat/nedmalloc: Fix some sparse warnings
551  + compat/fnmatch/fnmatch.c: Fix a sparse error
552  + compat/regex/regexec.c: Fix some sparse warnings
554  Will cook in 'next'.
557 * js/transport-helper-error-reporting-fix (2013-04-28) 13 commits
558   (merged to 'next' on 2013-04-29 at 8cc4bb8)
559  + git-remote-testgit: build it to run under $SHELL_PATH
560  + git-remote-testgit: further remove some bashisms
561  + git-remote-testgit: avoid process substitution
562   (merged to 'next' on 2013-04-25 at 3358f1a)
563  + t5801: "VAR=VAL shell_func args" is forbidden
564   (merged to 'next' on 2013-04-22 at 5ba6467)
565  + transport-helper: update remote helper namespace
566  + transport-helper: trivial code shuffle
567  + transport-helper: warn when refspec is not used
568  + transport-helper: clarify pushing without refspecs
569  + transport-helper: update refspec documentation
570  + transport-helper: clarify *:* refspec
571  + transport-helper: improve push messages
572  + transport-helper: mention helper name when it dies
573  + transport-helper: report errors properly
574  (this branch is tangled with fc/transport-helper-error-reporting.)
576  Finishing touches to fc/transport-helper-error-reporting topic.
577  Will cook in 'next'.
580 * mh/fetch-into-shallow (2013-05-02) 2 commits
581   (merged to 'next' on 2013-05-03 at 3fadc61)
582  + t5500: add test for fetching with an unknown 'shallow'
583   (merged to 'next' on 2013-04-29 at a167d3e)
584  + upload-pack: ignore 'shallow' lines with unknown obj-ids
586  Will cook in 'next'.
589 * jh/checkout-auto-tracking (2013-04-21) 8 commits
590   (merged to 'next' on 2013-04-22 at 2356700)
591  + glossary: Update and rephrase the definition of a remote-tracking branch
592  + branch.c: Validate tracking branches with refspecs instead of refs/remotes/*
593  + t9114.2: Don't use --track option against "svn-remote"-tracking branches
594  + t7201.24: Add refspec to keep --track working
595  + t3200.39: tracking setup should fail if there is no matching refspec.
596  + checkout: Use remote refspecs when DWIMming tracking branches
597  + t2024: Show failure to use refspec when DWIMming remote branch names
598  + t2024: Add tests verifying current DWIM behavior of 'git checkout <branch>'
600  Updates "git checkout foo" that DWIMs the intended "upstream" and
601  turns it into "git checkout -t -b foo remotes/origin/foo" to
602  correctly take existing remote definitions into account.  The
603  remote "origin" may be what uniquely map its own branch to
604  remotes/some/where/foo but that some/where may not be "origin".
606  Will cook in 'next'.
609 * jc/prune-all (2013-04-25) 4 commits
610   (merged to 'next' on 2013-04-26 at 97a7387)
611  + prune: introduce OPT_EXPIRY_DATE() and use it
612   (merged to 'next' on 2013-04-22 at b00ccf6)
613  + api-parse-options.txt: document "no-" for non-boolean options
614  + git-gc.txt, git-reflog.txt: document new expiry options
615  + date.c: add parse_expiry_date()
616  (this branch is used by mh/packed-refs-various.)
618  We used the approxidate() parser for "--expire=<timestamp>" options
619  of various commands, but it is better to treat --expire=all and
620  --expire=now a bit more specially than using the current timestamp.
621  Update "git gc" and "git reflog" with a new parsing function for
622  expiry dates.
624  Will cook in 'next'.
627 * as/check-ignore (2013-04-29) 6 commits
628   (merged to 'next' on 2013-04-30 at 646931f)
629  + t0008: use named pipe (FIFO) to test check-ignore streaming
630   (merged to 'next' on 2013-04-21 at 7515aa8)
631  + Documentation: add caveats about I/O buffering for check-{attr,ignore}
632  + check-ignore: allow incremental streaming of queries via --stdin
633  + check-ignore: move setup into cmd_check_ignore()
634  + check-ignore: add -n / --non-matching option
635  + t0008: remove duplicated test fixture data
637  Enhance "check-ignore" (1.8.2 update) to work more like "check-attr"
638  over bidi-pipes.
640  Will cook in 'next'.
643 * mh/packed-refs-various (2013-05-01) 33 commits
644   (merged to 'next' on 2013-05-01 at e527153)
645  + refs: handle the main ref_cache specially
646  + refs: change do_for_each_*() functions to take ref_cache arguments
647  + pack_one_ref(): do some cheap tests before a more expensive one
648  + pack_one_ref(): use write_packed_entry() to do the writing
649  + pack_one_ref(): use function peel_entry()
650  + refs: inline function do_not_prune()
651  + pack_refs(): change to use do_for_each_entry()
652  + refs: use same lock_file object for both ref-packing functions
653  + pack_one_ref(): rename "path" parameter to "refname"
654  + pack-refs: merge code from pack-refs.{c,h} into refs.{c,h}
655  + pack-refs: rename handle_one_ref() to pack_one_ref()
656  + refs: extract a function write_packed_entry()
657  + repack_without_ref(): write peeled refs in the rewritten file
658  + t3211: demonstrate loss of peeled refs if a packed ref is deleted
659  + refs: change how packed refs are deleted
660  + search_ref_dir(): return an index rather than a pointer
661  + repack_without_ref(): silence errors for dangling packed refs
662  + t3210: test for spurious error messages for dangling packed refs
663  + refs: change the internal reference-iteration API
664  + refs: extract a function peel_entry()
665  + peel_ref(): fix return value for non-peelable, not-current reference
666  + peel_object(): give more specific information in return value
667  + refs: extract function peel_object()
668  + refs: extract a function ref_resolves_to_object()
669  + repack_without_ref(): use function get_packed_ref()
670  + peel_ref(): use function get_packed_ref()
671  + get_packed_ref(): return a ref_entry
672  + do_for_each_ref_in_dirs(): remove dead code
673  + refs: define constant PEELED_LINE_LENGTH
674  + refs: document how current_ref is used
675  + refs: document do_for_each_ref() and do_one_ref()
676  + refs: document the fields of struct ref_value
677  + refs: document flags constants REF_*
678  (this branch uses jc/prune-all.)
680  Updates reading and updating packed-refs file, correcting corner
681  case bugs.
683  Will cook in 'next'.
686 * fc/transport-helper-error-reporting (2013-05-10) 12 commits
687   (merged to 'next' on 2013-05-10 at 2a9af4b)
688  + transport-helper: fix remote helper namespace regression
689  + test: remote-helper: add missing and
690   (merged to 'next' on 2013-04-25 at 3358f1a)
691  + t5801: "VAR=VAL shell_func args" is forbidden
692   (merged to 'next' on 2013-04-22 at 5ba6467)
693  + transport-helper: update remote helper namespace
694  + transport-helper: trivial code shuffle
695  + transport-helper: warn when refspec is not used
696  + transport-helper: clarify pushing without refspecs
697  + transport-helper: update refspec documentation
698  + transport-helper: clarify *:* refspec
699  + transport-helper: improve push messages
700  + transport-helper: mention helper name when it dies
701  + transport-helper: report errors properly
702  (this branch is tangled with js/transport-helper-error-reporting-fix.)
704  Update transport helper to report errors and maintain ref hierarchy
705  used to keep track of remote helper state better.
707  Will cook in 'next'.
710 * jk/submodule-subdirectory-ok (2013-04-24) 3 commits
711   (merged to 'next' on 2013-04-24 at 6306b29)
712  + submodule: fix quoting in relative_path()
713   (merged to 'next' on 2013-04-22 at f211e25)
714  + submodule: drop the top-level requirement
715  + rev-parse: add --prefix option
717  Allow various subcommands of "git submodule" to be run not from the
718  top of the working tree of the superproject.
720  Will cook in 'next'.
723 * jl/submodule-mv (2013-04-23) 5 commits
724   (merged to 'next' on 2013-04-23 at c04f574)
725  + submodule.c: duplicate real_path's return value
726   (merged to 'next' on 2013-04-19 at 45ae3c9)
727  + rm: delete .gitmodules entry of submodules removed from the work tree
728  + Teach mv to update the path entry in .gitmodules for moved submodules
729  + Teach mv to move submodules using a gitfile
730  + Teach mv to move submodules together with their work trees
732  "git mv A B" when moving a submodule A does "the right thing",
733  inclusing relocating its working tree and adjusting the paths in
734  the .gitmodules file.
736  Will cook in 'next'.
739 * jn/add-2.0-u-A-sans-pathspec (2013-04-26) 1 commit
740  - git add: -u/-A now affects the entire working tree
742  Will cook in 'next' until Git 2.0.
745 * nd/magic-pathspecs (2013-03-31) 45 commits
746  . Rename field "raw" to "_raw" in struct pathspec
747  . pathspec: support :(glob) syntax
748  . pathspec: make --literal-pathspecs disable pathspec magic
749  . pathspec: support :(literal) syntax for noglob pathspec
750  . Kill limit_pathspec_to_literal() as it's only used by parse_pathspec()
751  . parse_pathspec: preserve prefix length via PATHSPEC_PREFIX_ORIGIN
752  . parse_pathspec: make sure the prefix part is wildcard-free
753  . tree-diff: remove the use of pathspec's raw[] in follow-rename codepath
754  . Remove match_pathspec() in favor of match_pathspec_depth()
755  . Remove init_pathspec() in favor of parse_pathspec()
756  . Remove diff_tree_{setup,release}_paths
757  . Convert common_prefix() to use struct pathspec
758  . Convert add_files_to_cache to take struct pathspec
759  . Convert {read,fill}_directory to take struct pathspec
760  . Convert refresh_index to take struct pathspec
761  . Convert report_path_error to take struct pathspec
762  . checkout: convert read_tree_some to take struct pathspec
763  . Convert unmerge_cache to take struct pathspec
764  . Convert run_add_interactive to use struct pathspec
765  . Convert read_cache_preload() to take struct pathspec
766  . reset: convert to use parse_pathspec
767  . add: convert to use parse_pathspec
768  . check-ignore: convert to use parse_pathspec
769  . archive: convert to use parse_pathspec
770  . ls-files: convert to use parse_pathspec
771  . rm: convert to use parse_pathspec
772  . checkout: convert to use parse_pathspec
773  . rerere: convert to use parse_pathspec
774  . status: convert to use parse_pathspec
775  . commit: convert to use parse_pathspec
776  . clean: convert to use parse_pathspec
777  . Guard against new pathspec magic in pathspec matching code
778  . parse_pathspec: support prefixing original patterns
779  . parse_pathspec: support stripping/checking submodule paths
780  . parse_pathspec: support stripping submodule trailing slashes
781  . parse_pathspec: a special flag for max_depth feature
782  . Convert some get_pathspec() calls to parse_pathspec()
783  . parse_pathspec: add PATHSPEC_PREFER_{CWD,FULL}
784  . parse_pathspec: save original pathspec for reporting
785  . Add parse_pathspec() that converts cmdline args to struct pathspec
786  . pathspec: add copy_pathspec
787  . pathspec: i18n-ize error strings in pathspec parsing code
788  . Move struct pathspec and related functions to pathspec.[ch]
789  . clean: remove unused variable "seen"
790  . setup.c: check that the pathspec magic ends with ")"
792  Migrate the rest of codebase to use "struct pathspec" more.
794  This has nasty conflicts with kb/status-ignored-optim-2,
795  as/check-ignore and tr/line-log; I've already asked Duy to hold
796  this and later rebase on top of them.
798  Will defer.
801 * tr/line-log (2013-04-22) 13 commits
802   (merged to 'next' on 2013-04-22 at 8f2c1de)
803  + git-log(1): remove --full-line-diff description
804   (merged to 'next' on 2013-04-21 at cd92620)
805  + line-log: fix documentation formatting
806   (merged to 'next' on 2013-04-15 at 504559e)
807  + log -L: improve comments in process_all_files()
808  + log -L: store the path instead of a diff_filespec
809  + log -L: test merge of parallel modify/rename
810  + t4211: pass -M to 'git log -M -L...' test
811   (merged to 'next' on 2013-04-05 at 5afb00c)
812  + log -L: fix overlapping input ranges
813  + log -L: check range set invariants when we look it up
814   (merged to 'next' on 2013-04-01 at 5be920c)
815  + Speed up log -L... -M
816  + log -L: :pattern:file syntax to find by funcname
817  + Implement line-history search (git log -L)
818  + Export rewrite_parents() for 'log -L'
819  + Refactor parse_loc
821  Will cook in 'next'.
824 * jc/push-2.0-default-to-simple (2013-04-03) 1 commit
825  - push: switch default from "matching" to "simple"
827  The early bits to adjust the tests have been merged to 'master'.
829  Will cook in 'next' until Git 2.0.
832 * jc/add-2.0-ignore-removal (2013-04-22) 1 commit
833  - git add <pathspec>... defaults to "-A"
835  Updated endgame for "git add <pathspec>" that defaults to "--all"
836  aka "--no-ignore-removal".
838  Will cook in 'next' until Git 2.0.
840 --------------------------------------------------
841 [Discarded]
843 * kb/full-history-compute-treesame-carefully (2013-05-06) 11 commits
844  . revision.c: treat A...B merge bases as if manually specified
845  . revision.c: discount side branches when computing TREESAME
846  . simplify-merges: drop merge from irrelevant side branch
847  . simplify-merges: never remove all TREESAME parents
848  . t6012: update test for tweaked full-history traversal
849  . revision.c: Make --full-history consider more merges
850  . rev-list-options.txt: correct TREESAME for P
851  . t6111: allow checking the parents as well
852  . t6111: new TREESAME test set
853  . t6019: test file dropped in -s ours merge
854  . decorate.c: compact table when growing
856  Superseded by kb/full-history-compute-treesame-carefully-2