]> git.ipfire.org Git - thirdparty/git.git/commitdiff
What's cooking (2013/06 #08)
authorJunio C Hamano <gitster@pobox.com>
Tue, 25 Jun 2013 22:04:55 +0000 (15:04 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 25 Jun 2013 22:04:55 +0000 (15:04 -0700)
whats-cooking.txt

index a5ad935b7c9090ae79d25e2b2bcc54fcb57b7f64..b54be523278f14672502558270c295a830d484f7 100644 (file)
@@ -1,10 +1,10 @@
 To: git@vger.kernel.org
 Bcc: lwn@lwn.net
-Subject: What's cooking in git.git (Jun 2013, #07; Thu, 20)
-X-master-at: 21ff9151e811059f5576ca906c519ee5bb5b925e
-X-next-at: 7507a48fb149c98af104b7faaacd79147fc7907a
+Subject: What's cooking in git.git (Jun 2013, #08; Tue, 25)
+X-master-at: 9832cb9d4dc969fbfacfd1f8940fcbdec18bb930
+X-next-at: 8b6e9d859f911784fc6d53d779196c2bb7a34181
 
-What's cooking in git.git (Jun 2013, #07; Thu, 20)
+What's cooking in git.git (Jun 2013, #08; Tue, 25)
 --------------------------------------------------
 
 Here are the topics that have been cooking.  Commits prefixed with
@@ -19,166 +19,318 @@ of the repositories listed at
 --------------------------------------------------
 [Graduated to "master"]
 
-* cm/remote-mediawiki (2013-06-11) 1 commit
-  (merged to 'next' on 2013-06-15 at bdce58e)
- + git-remote-mediawiki: display message when launched directly
+* bp/remote-mw-tests (2013-06-14) 1 commit
+  (merged to 'next' on 2013-06-17 at 2891373)
+ + git-remote-mediawiki: remove hardcoded version number in the test suite
+
+ Code cleanup.
 
 
-* fc/makefile (2013-06-09) 4 commits
-  (merged to 'next' on 2013-06-14 at 75b5f6b)
- + Makefile: use $^ to avoid listing prerequisites on the command line
- + build: do not install git-remote-testgit
- + build: generate and clean test scripts
- + Merge branch 'js/transport-helper-error-reporting-fix' into fc/makefile
+* cm/remote-mediawiki-perlcritique (2013-06-14) 31 commits
+  (merged to 'next' on 2013-06-17 at a41a924)
+ + git-remote-mediawiki: make error message more precise
+ + git-remote-mediawiki: add a perlcritic rule in Makefile
+ + git-remote-mediawiki: add a .perlcriticrc file
+ + git-remote-mediawiki: clearly rewrite double dereference
+ + git-remote-mediawiki: fix a typo ("mediwiki" instead of "mediawiki")
+ + git-remote-mediawiki: put non-trivial numeric values in constants.
+ + git-remote-mediawiki: don't use quotes for empty strings
+ + git-remote-mediawiki: replace "unless" statements with negated "if" statements
+ + git-remote-mediawiki: brace file handles for print for more clarity
+ + git-remote-mediawiki: modify strings for a better coding-style
+ + git-remote-mediawiki: put long code into a subroutine
+ + git-remote-mediawiki: remove import of unused open2
+ + git-remote-mediawiki: check return value of open
+ + git-remote-mediawiki: assign a variable as undef and make proper indentation
+ + git-remote-mediawiki: rename a variable ($last) which has the name of a keyword
+ + git-remote-mediawiki: remove unused variable $entry
+ + git-remote-mediawiki: turn double-negated expressions into simple expressions
+ + git-remote-mediawiki: change the name of a variable
+ + git-remote-mediawiki: add newline in the end of die() error messages
+ + git-remote-mediawiki: change style in a regexp
+ + git-remote-mediawiki: change style in a regexp
+ + git-remote-mediawiki: change separator of some regexps
+ + git-remote-mediawiki: change the behaviour of a split
+ + git-remote-mediawiki: remove useless regexp modifier (m)
+ + git-remote-mediawiki: rewrite unclear line of instructions
+ + git-remote-mediawiki: change syntax of map calls
+ + git-remote-mediawiki: move a variable declaration at the top of the code
+ + git-remote-mediawiki: always end a subroutine with a return
+ + git-remote-mediawiki: replace :utf8 by :encoding(UTF-8)
+ + git-remote-mediawiki: move "use warnings;" before any instruction
+ + git-remote-mediawiki: make a regexp clearer
 
Makefile simplification.
Code cleanup.
 
 
-* fc/show-non-empty-errors-in-test (2013-06-09) 1 commit
-  (merged to 'next' on 2013-06-14 at 99b6b54)
- + test: test_must_be_empty helper
+* dk/maint-t5150-dirname (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at 7441301)
+ + tests: allow sha1's as part of the path
 
+ Fix a test script.
 
-* js/test-ln-s-add (2013-06-07) 10 commits
-  (merged to 'next' on 2013-06-14 at 9f58cb1)
- + t4011: remove SYMLINKS prerequisite
- + t6035: use test_ln_s_add to remove SYMLINKS prerequisite
- + t3509, t4023, t4114: use test_ln_s_add to remove SYMLINKS prerequisite
- + t3100: use test_ln_s_add to remove SYMLINKS prerequisite
- + t3030: use test_ln_s_add to remove SYMLINKS prerequisite
- + t0000: use test_ln_s_add to remove SYMLINKS prerequisite
- + tests: use test_ln_s_add to remove SYMLINKS prerequisite (trivial cases)
- + tests: introduce test_ln_s_add
- + t3010: modernize style
- + test-chmtime: Fix exit code on Windows
 
- Many tests that check the behaviour of symbolic links stored in the
- index or the tree objects do not have to be skipped on a filesystem
- that lack symbolic link support.
+* dk/version-gen-gitdir (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at c9c687e)
+ + GIT-VERSION-GEN: support non-standard $GIT_DIR path
 
+ Allow packaging a tarball in a working tree with $GIT_DIR set elsewhere.
 
-* mm/color-auto-default (2013-06-10) 2 commits
-  (merged to 'next' on 2013-06-14 at 0647576)
- + make color.ui default to 'auto'
- + config: refactor management of color.ui's default value
 
- Flip the default for color.ui to 'auto', which is what many
- tutorials recommend new users to do.
+* fc/sequencer-plug-leak (2013-06-06) 2 commits
+  (merged to 'next' on 2013-06-20 at 3c94075)
+ + sequencer: avoid leaking message buffer when refusing to create an empty commit
+ + sequencer: remove useless indentation
 
+ Plug a small leak in an error codepath.
 
-* nd/make-wildmatch-default (2013-06-02) 1 commit
-  (merged to 'next' on 2013-06-14 at cf21faa)
- + Makefile: promote wildmatch to be the default fnmatch implementation
 
- Uses of the platform fnmatch(3) function (many places in the code,
- matching pathspec, .gitignore and .gitattributes to name a few)
- have been replaced with wildmatch, allowing "foo/**/bar" that would
- match foo/bar, foo/a/bar, foo/a/b/bar, etc.
+* fg/submodule-fixup (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at 64d74b4)
+ + git-submodule.sh: remove duplicate call to set_rev_name
 
+ Code cleanup.
 
-* nd/traces (2013-06-09) 2 commits
-  (merged to 'next' on 2013-06-14 at ce0d897)
- + git.txt: document GIT_TRACE_PACKET
- + core: use env variable instead of config var to turn on logging pack access
 
+* jh/libify-note-handling (2013-06-12) 3 commits
+  (merged to 'next' on 2013-06-20 at 7dac8b6)
+ + Move create_notes_commit() from notes-merge.c into notes-utils.c
+ + Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c
+ + finish_copy_notes_for_rewrite(): Let caller provide commit message
 
-* rs/discard-index-discard-array (2013-06-09) 2 commits
-  (merged to 'next' on 2013-06-14 at 778ea9b)
- + read-cache: free cache in discard_index
- + read-cache: add simple performance test
+ Make it possible to call into copy-notes API from the sequencer code.
 
- Call to discard_cache/discard_index (used when we use different
- contents of the index in-core, in many operations like commit,
- apply, and merge) used to leak memory that held the array of index
- entries, which has been plugged.
 
+* jk/apache-test-for-2.4 (2013-06-14) 4 commits
+  (merged to 'next' on 2013-06-17 at 290e72e)
+ + t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
+ + t/lib-httpd/apache.conf: load compat access module in apache 2.4
+ + t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
+ + t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4
 
-* rs/logical-vs-binary-or (2013-06-13) 1 commit
-  (merged to 'next' on 2013-06-14 at 2821441)
- + use logical OR (||) instead of binary OR (|) in logical context
+ Allow httpd tests to run with Apache 2.4.
 
- Code cleanup.
 
+* jk/doc-build-move-infordir-def (2013-06-17) 2 commits
+  (merged to 'next' on 2013-06-20 at 81e56a8)
+ + Documentation/Makefile: move infodir to be with other '*dir's
+ + Documentation/Makefile: fix spaces around assignments
 
-* rs/match-trees-refactor (2013-06-13) 1 commit
-  (merged to 'next' on 2013-06-14 at 1904928)
- + match-trees: factor out fill_tree_desc_strict
+ Makefile cleanup.
+
+
+* jk/mergetool-lib-refactor (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at 7ce98c0)
+ + mergetool--lib: refactor {diff,merge}_cmd logic
 
  Code cleanup.
 
---------------------------------------------------
-[New Topics]
 
-* as/log-output-encoding-in-user-format (2013-06-20) 3 commits
- - t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
- - t7102 (reset): don't hardcode SHA-1 in expected outputs
- - t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
+* jk/unpack-entry-fallback-to-another (2013-06-14) 2 commits
+  (merged to 'next' on 2013-06-17 at 89e0eab)
+ + unpack_entry: do not die when we fail to apply a delta
+ + t5303: drop "count=1" from corruption dd
 
- "log --format=" did not honor i18n.logoutputencoding configuration
- and this is a beginning of the series that attempts to fix it.
+ Follow-up to an earlier fix.
 
- Waiting for a reroll.
 
+* mm/rm-coalesce-errors (2013-06-12) 2 commits
+  (merged to 'next' on 2013-06-20 at c70340c)
+ + rm: introduce advice.rmHints to shorten messages
+ + rm: better error message on failure for multiple files
 
-* bc/http-keep-memory-given-to-curl (2013-06-19) 1 commit
- - http.c: don't rewrite the user:passwd string multiple times
+ Give a single message followed by list of paths from "git rm" to
+ report multiple paths that cannot be removed.
 
- Older cURL wanted piece of memory we call it with to be stable, but
- we updated the auth material after handing it to a call.
 
- Will merge to 'next'.
+* mz/rebase-tests (2013-06-18) 8 commits
+  (merged to 'next' on 2013-06-18 at 12cfec8)
+ + rebase topology tests: fix commit names on case-insensitive file systems
+  (merged to 'next' on 2013-06-14 at 73f3318)
+ + tests: move test for rebase messages from t3400 to t3406
+ + t3406: modernize style
+ + add tests for rebasing merged history
+ + add tests for rebasing root
+ + add tests for rebasing of empty commits
+ + add tests for rebasing with patch-equivalence present
+ + add simple tests of consistency across rebase types
 
 
-* jc/reflog-doc (2013-06-19) 1 commit
- - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
+* nk/config-local-doc (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at 3568ebe)
+ + config: Add description of --local option
 
- Document rules to use GIT_REFLOG_ACTION variable in the scripted
- Porcelain.  git-rebase--interactive locally violates this, but it
- is a leaf user that does not call out to or dot-sources other
- scripts, so fixing it is not all that urgent.
 
+* rr/am-quit-empty-then-abort-fix (2013-06-17) 2 commits
+  (merged to 'next' on 2013-06-20 at f9feae3)
+ + t/am: use test_path_is_missing() where appropriate
+ + am: handle stray $dotest directory
 
-* jk/pull-into-dirty-unborn (2013-06-20) 2 commits
- - pull: merge into unborn by fast-forwarding from empty tree
- - pull: update unborn branch tip after index
+ Recent "rebase --autostash" update made it impossible to recover
+ with "git am --abort" from a repository where "git am" without mbox
+ was run by mistake and then was killed with "^C".
 
- "git pull" into nothing trashed "local changes" that were in the
- index, and this avoids it.
 
- Will merge to 'next'.
+* rr/prompt-rebase-breakage-fix (2013-06-14) 1 commit
+  (merged to 'next' on 2013-06-17 at 02957d8)
+ + prompt: squelch error output from cat
 
 
-* mh/ref-races-optim-invalidate-cached (2013-06-20) 1 commit
- - refs: do not invalidate the packed-refs cache unnecessarily
- (this branch uses mh/ref-races.)
+* rr/rebase-autostash (2013-06-13) 3 commits
+  (merged to 'next' on 2013-06-17 at e692317)
+ + rebase: finish_rebase() in noop rebase
+ + rebase: finish_rebase() in fast-forward rebase
+ + rebase: guard against missing files in read_basic_state()
 
- Optional.
 
+* rr/rebase-sha1-by-string-query (2013-06-14) 3 commits
+  (merged to 'next' on 2013-06-20 at d0742fe)
+ + rebase: use peel_committish() where appropriate
+ + sh-setup: add new peel_committish() helper
+ + t/rebase: add failing tests for a peculiar revision
 
-* rr/cherry-pick-fast-forward-reflog-message (2013-06-19) 1 commit
- - sequencer: write useful reflog message for fast-forward
+ Allow various commit objects to be given to "git rebase" by ':/look
+ for this string' syntax, e.g. "git rebase --onto ':/there'".
 
- The reflog message created when "git cherry-pick" fast-forwarded
- did not say anything but "cherry-pick", but it now says
- "cherry-pick: fast-forward".
 
- Will merge to 'next'.
+* rs/unpack-trees-tree-walk-conflict-field (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at 0afbf0b)
+ + unpack-trees: don't shift conflicts left and right
 
+ Code clean-up.
 
-* vl/typofix (2013-06-19) 1 commit
- - random typofixes (committed missing a 't', successful missing an 's')
+
+* rt/cherry-pick-continue-advice-in-status (2013-06-17) 1 commit
+  (merged to 'next' on 2013-06-20 at ec8a930)
+ + wt-status: give better advice when cherry-pick is in progress
+
+--------------------------------------------------
+[New Topics]
+
+* rr/remote-branch-config-refresh (2013-06-23) 9 commits
+ - t/t5505-remote: test multiple push/pull in remotes-file
+ - ls-remote doc: don't encourage use of branches-file
+ - ls-remote doc: rewrite <repository> paragraph
+ - ls-remote doc: fix example invocation on git.git
+ - t/t5505-remote: test url-with-# in branches-file
+ - remote: remove dead code in read_branches_file()
+ - t/t5505-remote: use test_path_is_missing
+ - t/t5505-remote: test push-refspec in branches-file
+ - t/t5505-remote: modernize style
+
+ The original way to specify remote repository using .git/branches/
+ used to have a nifty feature.  The code to support the feature was
+ still in a function but the caller was changed not to call it 5
+ years ago, breaking that feature and leaving the supporting code
+ unreachable.
 
  Will merge to 'next'.
 
 
-* wk/doc-git-has-grown (2013-06-19) 1 commit
- - user-manual: Update download size for Git and the kernel
+* tr/maint-apply-non-git-patch-parsefix (2013-06-21) 1 commit
+  (merged to 'next' on 2013-06-24 at 50583a5)
+ + apply: carefully strdup a possibly-NULL name
+
+ Fix for the codepath to parse patches that add new files, generated
+ by programs other than Git.  THis is an old breakage in v1.7.11 and
+ will need to be merged down to the maintanance tracks.
+
+ Will merge to 'master'.
+
+
+* wk/doc-in-linux-3.x-era (2013-06-22) 4 commits
+ - Documentation: Update 'linux-2.6.git' -> 'linux.git'
+ - Documentation: Update the NFS remote examples to use the staging repo
+ - doc/clone: Pick more compelling paths for the --reference example
+ - doc/clone: Remove the '--bare -l -s' example
+
+ Update documentation to update to more recent realities.
 
  Will merge to 'next'.
 
+
+* ys/cygstart (2013-06-21) 1 commit
+  (merged to 'next' on 2013-06-24 at 822d9ca)
+ + web--browse: support /usr/bin/cygstart on Cygwin
+
+ On "Cygwin", recognize "cygstart" as a possible way to start a web
+ browser (used in "help -w" and "instaweb" among others).
+
+ Will merge to 'master'.
+
+
+* jc/maint-diff-core-safecrlf (2013-06-25) 1 commit
+ - diff: demote core.safecrlf=true to core.safecrlf=warn
+
+ "git diff" refused to even show difference when core.safecrlf is
+ set to true (i.e. error out) and there are offending lines in the
+ working tree files.
+
+ Will hold for a while to see if anybody can come up with better
+ tests.
+
+
+* jk/fast-import-empty-ls (2013-06-23) 4 commits
+ - fast-import: allow moving the root tree
+ - fast-import: allow ls or filecopy of the root tree
+ - fast-import: set valid mode on root tree in "ls"
+ - t9300: document fast-import empty path issues
+
+ Waiting for reviews.
+
+
+* sg/bash-prompt (2013-06-24) 22 commits
+ - Merge branch 'bash-prompt-color-refactorization' into bash-prompt-speedup-and-color-refactorization
+ - fixup! git-prompt.sh: add missing information in comments
+ - git-prompt.sh: add missing information in comments
+ - git-prompt.sh: do not print duplicate clean color code
+ - git-prompt.sh: refactor colored prompt code
+ - t9903: add tests for git-prompt pcmode
+ - bash prompt: mention that PROMPT_COMMAND mode is faster
+ - bash prompt: avoid command substitution when finalizing gitstring
+ - bash prompt: avoid command substitution when checking for untracked files
+ - bash prompt: use bash builtins to check stash state
+ - bash prompt: use bash builtins to check for unborn branch for dirty state
+ - bash prompt: combine 'git rev-parse' for detached head
+ - bash prompt: combine 'git rev-parse' executions in the main code path
+ - bash prompt: use bash builtins to find out current branch
+ - bash prompt: use bash builtins to find out rebase state
+ - bash prompt: run 'git rev-parse --git-dir' directly instead of __gitdir()
+ - bash prompt: return early from __git_ps1() when not in a git repository
+ - bash prompt: print unique detached HEAD abbreviated object name
+ - bash prompt: add a test for symbolic link symbolic refs
+ - completion, bash prompt: move __gitdir() tests to completion test suite
+ - bash prompt: use 'write_script' helper in interactive rebase test
+ - bash prompt: fix redirection coding style in tests
+
+ Will hold for a few days, then split and merge to 'next'.
+
+
+* af/rebase-i-merge-options (2013-06-25) 2 commits
+ - SQUASH???
+ - Do not ignore merge options in interactive rebase
+
+ "git rebase -i" now honors --strategy and -X options.
+
+
+* rj/cygwin-remove-cheating-lstat (2013-06-25) 1 commit
+ - cygwin: Remove the Win32 l/stat() implementation
+
 --------------------------------------------------
 [Stalled]
 
+* as/log-output-encoding-in-user-format (2013-06-20) 3 commits
+ - t4205 (log-pretty-formats): don't hardcode SHA-1 in expected outputs
+ - t7102 (reset): don't hardcode SHA-1 in expected outputs
+ - t6006 (rev-list-format): don't hardcode SHA-1 in expected outputs
+
+ "log --format=" did not honor i18n.logoutputencoding configuration
+ and this is a beginning of the series that attempts to fix it.
+
+ Waiting for a reroll, not to add dependency on new 8859-5 locale.
+ $gmane/228532
+
+
 * fc/contrib-related (2013-06-09) 5 commits
  - contrib: related: print the amount of involvement
  - contrib: related: parse committish like format-patch
@@ -200,44 +352,6 @@ of the repositories listed at
  $gmane/223964
 
 
-* rr/triangle-push-fix (2013-06-20) 9 commits
- - push: honor branch.*.push
- - SQUASH??? fix git-config push.default description
- - SQUASH??? minimum "simple" safety fix-up
- - t/t5528-push-default: test pushdefault workflows
- - t/t5528-push-default: generalize test_push_*
- - push: remove dead code in setup_push_upstream()
- - push: change `simple` to accommodate triangular workflows
- - config doc: rewrite push.default section
- - t/t5528-push-default: remove redundant test_config lines
-
- Earlier remote.pushdefault (and per-branch branch.*.pushremote)
- were introduced as an additional mechanism to choose what
- repository to push into when "git push" did not say it from the
- command line, to help people who push to a repository that is
- different from where they fetch from.  This attempts to finish that
- topic by teaching the default mechanism to choose branch in the
- remote repository to be updated by such a push.
-
- The 'current', 'matching' and 'nothing' modes (specified by the
- push.default configuration variable) extend to such a "triangular"
- workflow naturally, but 'upstream' and 'simple' have to be updated.
-
- . 'upstream' is about pushing back to update the branch in the
- remote repository that the current branch fetches from and
- integrates with, it errors out in a triangular workflow.
-
- . 'simple' is meant to help new people by avoiding mistakes, and
- will be the safe default in Git 2.0.  In a non-triangular
- workflow, it will continue to act as a cross between 'upstream'
- and 'current' in that it pushes to the current branch's
- @{upstream} only when it is set to the same name as the current
- branch (e.g. your 'master' forks from the 'master' from the
- central repository).  In a triangular workflow, this series
- tentatively defines it as the same as 'current', but we may have
- to tighten it to avoid surprises in some way.
-
-
 * jh/shorten-refname (2013-05-07) 4 commits
  - t1514: refname shortening is done after dereferencing symbolic refs
  - shorten_unambiguous_ref(): Fix shortening refs/remotes/origin/HEAD to origin
@@ -345,88 +459,148 @@ of the repositories listed at
 --------------------------------------------------
 [Cooking]
 
-* rr/rebase-checkout-reflog (2013-06-17) 8 commits
- - SQUASH???
- - rebase -i: use a better reflog message
- - rebase: use a better reflog message
- - checkout: respect GIT_REFLOG_ACTION
- - status: do not depend on rebase reflog messages
- - t/t2021-checkout-last: "checkout -" should work after a rebase finishes
- - wt-status: remove unused field in grab_1st_switch_cbdata
- - t7512: test "detached from" as well
+* jc/triangle-push-fixup (2013-06-24) 5 commits
+ - t/t5528-push-default: test pushdefault workflows
+ - t/t5528-push-default: generalize test_push_*
+ - push: change `simple` to accommodate triangular workflows
+ - config doc: rewrite push.default section
+ - t/t5528-push-default: remove redundant test_config lines
+ (this branch is tangled with rr/triangle-push-fix.)
 
- Invocations of "git checkout" used internally by "git rebase" were
- counted as "checkout", and affected later "git checkout -" to the
- the user to an unexpected place.
+ Earlier remote.pushdefault (and per-branch branch.*.pushremote)
+ were introduced as an additional mechanism to choose what
+ repository to push into when "git push" did not say it from the
+ command line, to help people who push to a repository that is
+ different from where they fetch from.  This attempts to finish that
+ topic by teaching the default mechanism to choose branch in the
+ remote repository to be updated by such a push.
 
- Waiting for a reroll.
- $gmane/228271.
+ The 'current', 'matching' and 'nothing' modes (specified by the
+ push.default configuration variable) extend to such a "triangular"
+ workflow naturally, but 'upstream' and 'simple' have to be updated.
+
+ . 'upstream' is about pushing back to update the branch in the
+ remote repository that the current branch fetches from and
+ integrates with, it errors out in a triangular workflow.
+
+ . 'simple' is meant to help new people by avoiding mistakes, and
+ will be the safe default in Git 2.0.  In a non-triangular
+ workflow, it will continue to act as a cross between 'upstream'
+ and 'current' in that it pushes to the current branch's
+ @{upstream} only when it is set to the same name as the current
+ branch (e.g. your 'master' forks from the 'master' from the
+ central repository).  In a triangular workflow, this series
+ tentatively defines it as the same as 'current', but we may have
+ to tighten it to avoid surprises in some way.
+
+ Will merge to 'next'.
+
+
+* jg/status-config (2013-06-24) 4 commits
+ - status/commit: make sure --porcelain is not affected by user-facing config
+ - commit: make it work with status.short
+ - status: introduce status.branch to enable --branch by default
+ - status: introduce status.short to enable --short by default
+
+ "git status" learned status.branch and status.short configuration
+ variables to use --branch and --short options by default (override
+ with --no-branch and --no-short options from the command line).
+
+ The bottom two has been graduated to 'master' but then reverted.
+ The tip two are quick attempts to fix the fallout.  The one for
+ status.short looks correct; the other one is still in flux and
+ under discussion, waiting for alternative cleaner patches.
+
+
+* bc/http-keep-memory-given-to-curl (2013-06-19) 1 commit
+  (merged to 'next' on 2013-06-23 at cf91828)
+ + http.c: don't rewrite the user:passwd string multiple times
+
+ Older cURL wanted piece of memory we call it with to be stable, but
+ we updated the auth material after handing it to a call.
 
+ Will merge to 'master'.
 
-* rr/rebase-stash-store (2013-06-17) 5 commits
- - rebase: use 'git stash store' to simplify logic
- - stash: introduce 'git stash store'
- - stash: simplify option parser for create
- - stash doc: document short form -p in synopsis
- - stash doc: add a warning about using create
 
- Finishing touches for the "git rebase --autostash" feature
- introduced earlier.
+* jc/reflog-doc (2013-06-19) 1 commit
+ - setup_reflog_action: document the rules for using GIT_REFLOG_ACTION
 
- Will merge to 'next'.
+ Document rules to use GIT_REFLOG_ACTION variable in the scripted
+ Porcelain.  git-rebase--interactive locally violates this, but it
+ is a leaf user that does not call out to or dot-sources other
+ scripts, so fixing it is not all that urgent.
 
 
-* rs/unpack-trees-tree-walk-conflict-field (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at 0afbf0b)
- + unpack-trees: don't shift conflicts left and right
+* jk/pull-into-dirty-unborn (2013-06-20) 2 commits
+  (merged to 'next' on 2013-06-23 at ab4b111)
+ + pull: merge into unborn by fast-forwarding from empty tree
+ + pull: update unborn branch tip after index
 
- Code clean-up.
+ "git pull" into nothing trashed "local changes" that were in the
+ index, and this avoids it.
 
  Will merge to 'master'.
 
 
-* dk/maint-t5150-dirname (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at 7441301)
- + tests: allow sha1's as part of the path
-
- Fix a test script.
+* mh/ref-races-optim-invalidate-cached (2013-06-20) 1 commit
+ - refs: do not invalidate the packed-refs cache unnecessarily
+ (this branch uses mh/ref-races.)
 
Will merge to 'master'.
Optional.
 
 
-* dk/version-gen-gitdir (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at c9c687e)
- + GIT-VERSION-GEN: support non-standard $GIT_DIR path
+* rr/cherry-pick-fast-forward-reflog-message (2013-06-19) 1 commit
+  (merged to 'next' on 2013-06-24 at 8b6e9d8)
+ + sequencer: write useful reflog message for fast-forward
 
- Allow packaging a tarball in a working tree with $GIT_DIR set elsewhere.
+ The reflog message created when "git cherry-pick" fast-forwarded
+ did not say anything but "cherry-pick", but it now says
+ "cherry-pick: fast-forward".
 
  Will merge to 'master'.
 
 
-* fg/submodule-fixup (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at 64d74b4)
- + git-submodule.sh: remove duplicate call to set_rev_name
+* vl/typofix (2013-06-19) 1 commit
+  (merged to 'next' on 2013-06-23 at a057524)
+ + random typofixes (committed missing a 't', successful missing an 's')
+
+ Will merge to 'master'.
 
- Code cleanup.
+
+* wk/doc-git-has-grown (2013-06-23) 1 commit
+  (merged to 'next' on 2013-06-23 at 256263d)
+ + user-manual: Update download size for Git and the kernel
 
  Will merge to 'master'.
 
 
-* jk/doc-build-move-infordir-def (2013-06-17) 2 commits
-  (merged to 'next' on 2013-06-20 at 81e56a8)
- + Documentation/Makefile: move infodir to be with other '*dir's
- + Documentation/Makefile: fix spaces around assignments
+* rr/rebase-checkout-reflog (2013-06-23) 7 commits
+ - rebase -i: use a better reflog message
+ - rebase: use a better reflog message
+ - checkout: respect GIT_REFLOG_ACTION
+ - status: do not depend on rebase reflog messages
+ - t/t2021-checkout-last: "checkout -" should work after a rebase finishes
+ - wt-status: remove unused field in grab_1st_switch_cbdata
+ - t7512: test "detached from" as well
 
- Makefile cleanup.
+ Invocations of "git checkout" used internally by "git rebase" were
+ counted as "checkout", and affected later "git checkout -" to the
+ the user to an unexpected place.
 
- Will merge to 'master'.
+ The first four are uncontroversial and ready to be merged.
+ Will split and merge to 'next'.
 
 
-* jk/mergetool-lib-refactor (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at 7ce98c0)
- + mergetool--lib: refactor {diff,merge}_cmd logic
+* rr/rebase-stash-store (2013-06-17) 5 commits
+  (merged to 'next' on 2013-06-23 at 2398dad)
+ + rebase: use 'git stash store' to simplify logic
+ + stash: introduce 'git stash store'
+ + stash: simplify option parser for create
+ + stash doc: document short form -p in synopsis
+ + stash doc: add a warning about using create
 
- Code cleanup.
+ Finishing touches for the "git rebase --autostash" feature
+ introduced earlier.
 
  Will merge to 'master'.
 
@@ -438,13 +612,6 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* nk/config-local-doc (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at 3568ebe)
- + config: Add description of --local option
-
- Will merge to 'master'.
-
-
 * rj/read-default-config-in-show-ref-pack-refs (2013-06-17) 3 commits
  - ### DONTMERGE: needs better explanation on what config they need
  - pack-refs.c: Add missing call to git_config()
@@ -457,18 +624,14 @@ of the repositories listed at
  $gmane/228294
 
 
-* rt/cherry-pick-continue-advice-in-status (2013-06-17) 1 commit
-  (merged to 'next' on 2013-06-20 at ec8a930)
- + wt-status: give better advice when cherry-pick is in progress
-
- Will merge to 'master'.
-
-
 * bc/checkout-tracking-name-plug-leak (2013-06-18) 2 commits
- - t/t9802: explicitly name the upstream branch to use as a base
- - builtin/checkout.c: don't leak memory in check_tracking_name
+  (merged to 'next' on 2013-06-23 at 35f8f85)
+ + t/t9802: explicitly name the upstream branch to use as a base
+ + builtin/checkout.c: don't leak memory in check_tracking_name
 
- Will merge to 'next'.
+ Plug a small leak in checkout.
+
+ Will merge to 'master'.
 
 
 * kb/diff-blob-blob-doc (2013-06-18) 1 commit
@@ -486,16 +649,25 @@ of the repositories listed at
 
 
 * mt/send-email-cc-match-fix (2013-06-20) 2 commits
- - send-email: sanitize author when writing From line
- - send-email: add test for duplicate utf8 name
+  (merged to 'next' on 2013-06-23 at a2656b3)
+ + send-email: sanitize author when writing From line
+ + send-email: add test for duplicate utf8 name
 
- Will merge to 'next'.
+ Logic used by git-send-email to suppress cc mishandled names that
+ need RFC2047 quoting.
+
+ Will merge to 'master'.
 
 
 * nk/name-rev-abbreviated-refs (2013-06-18) 1 commit
- - name-rev: allow to specify a subpath for --refs option
+  (merged to 'next' on 2013-06-23 at 2ec9e05)
+ + name-rev: allow to specify a subpath for --refs option
 
- Will merge to 'next'.
+ "git name-rev --refs=tags/v*" were forbidden, which was a bit
+ inconvenient (you had to give a pattern to match refs fully, like
+ --refs=refs/tags/v*).
+
+ Will merge to 'master'.
 
 
 * ph/builtin-srcs-are-in-subdir-these-days (2013-06-18) 1 commit
@@ -506,38 +678,23 @@ of the repositories listed at
 
 
 * jk/submodule-subdirectory-ok (2013-06-17) 6 commits
- - submodule: drop the top-level requirement
- - rev-parse: add --prefix option
- - submodule: show full path in error message
- - t7403: add missing && chaining
- - t7403: modernize style
- - t7401: make indentation consistent
+  (merged to 'next' on 2013-06-23 at f17fb37)
+ + submodule: drop the top-level requirement
+ + rev-parse: add --prefix option
+ + submodule: show full path in error message
+ + t7403: add missing && chaining
+ + t7403: modernize style
+ + t7401: make indentation consistent
 
  Allow various subcommands of "git submodule" to be run not from the
  top of the working tree of the superproject.
 
- Will merge to 'next'.
-
-
-* rr/prompt-rebase-breakage-fix (2013-06-14) 1 commit
-  (merged to 'next' on 2013-06-17 at 02957d8)
- + prompt: squelch error output from cat
-
- Will merge to 'master'.
-
-
-* jh/libify-note-handling (2013-06-12) 3 commits
-  (merged to 'next' on 2013-06-20 at 7dac8b6)
- + Move create_notes_commit() from notes-merge.c into notes-utils.c
- + Move copy_note_for_rewrite + friends from builtin/notes.c to notes-utils.c
- + finish_copy_notes_for_rewrite(): Let caller provide commit message
-
- Make it possible to call into copy-notes API from the sequencer code.
-
  Will merge to 'master'.
 
 
-* jk/add-i-custom-diff-algo (2013-06-12) 1 commit
+* jk/add-i-custom-diff-algo (2013-06-23) 2 commits
+  (merged to 'next' on 2013-06-24 at 42e7894)
+ + add -i: add extra options at the right place in "diff" command line
   (merged to 'next' on 2013-06-17 at 48d5d4e)
  + add--interactive: respect diff.algorithm
 
@@ -545,41 +702,23 @@ of the repositories listed at
 
 
 * mh/ref-races (2013-06-20) 11 commits
- - for_each_ref: load all loose refs before packed refs
- - get_packed_ref_cache: reload packed-refs file when it changes
- - add a stat_validity struct
- - Extract a struct stat_data from cache_entry
- - packed_ref_cache: increment refcount when locked
- - do_for_each_entry(): increment the packed refs cache refcount
- - refs: manage lifetime of packed refs cache via reference counting
- - refs: implement simple transactions for the packed-refs file
- - refs: wrap the packed refs cache in a level of indirection
- - pack_refs(): split creation of packed refs and entry writing
- - repack_without_ref(): split list curation and entry writing
+  (merged to 'next' on 2013-06-23 at 71f1a18)
+ + for_each_ref: load all loose refs before packed refs
+ + get_packed_ref_cache: reload packed-refs file when it changes
+ + add a stat_validity struct
+ + Extract a struct stat_data from cache_entry
+ + packed_ref_cache: increment refcount when locked
+ + do_for_each_entry(): increment the packed refs cache refcount
+ + refs: manage lifetime of packed refs cache via reference counting
+ + refs: implement simple transactions for the packed-refs file
+ + refs: wrap the packed refs cache in a level of indirection
+ + pack_refs(): split creation of packed refs and entry writing
+ + repack_without_ref(): split list curation and entry writing
  (this branch is used by mh/ref-races-optim-invalidate-cached.)
 
- Will merge to 'next'.
-
-
-* mm/rm-coalesce-errors (2013-06-12) 2 commits
-  (merged to 'next' on 2013-06-20 at c70340c)
- + rm: introduce advice.rmHints to shorten messages
- + rm: better error message on failure for multiple files
-
- Give a single message followed by list of paths from "git rm" to
- report multiple paths that cannot be removed.
-
- Will merge to 'master'.
-
-
-* rr/am-quit-empty-then-abort-fix (2013-06-17) 2 commits
-  (merged to 'next' on 2013-06-20 at f9feae3)
- + t/am: use test_path_is_missing() where appropriate
- + am: handle stray $dotest directory
-
- Recent "rebase --autostash" update made it impossible to recover
- with "git am --abort" from a repository where "git am" without mbox
- was run by mistake and then was killed with "^C".
+ "git pack-refs" that races with new ref creation or deletion have
+ been susceptible to lossage of refs under right conditions, which
+ has been tightened up.
 
  Will merge to 'master'.
 
@@ -596,90 +735,12 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* rr/rebase-autostash (2013-06-13) 3 commits
-  (merged to 'next' on 2013-06-17 at e692317)
- + rebase: finish_rebase() in noop rebase
- + rebase: finish_rebase() in fast-forward rebase
- + rebase: guard against missing files in read_basic_state()
-
- Will merge to 'master'.
-
-
-* bp/remote-mw-tests (2013-06-14) 1 commit
-  (merged to 'next' on 2013-06-17 at 2891373)
- + git-remote-mediawiki: remove hardcoded version number in the test suite
-
- Will merge to 'master'.
-
-
-* cm/remote-mediawiki-perlcritique (2013-06-14) 31 commits
-  (merged to 'next' on 2013-06-17 at a41a924)
- + git-remote-mediawiki: make error message more precise
- + git-remote-mediawiki: add a perlcritic rule in Makefile
- + git-remote-mediawiki: add a .perlcriticrc file
- + git-remote-mediawiki: clearly rewrite double dereference
- + git-remote-mediawiki: fix a typo ("mediwiki" instead of "mediawiki")
- + git-remote-mediawiki: put non-trivial numeric values in constants.
- + git-remote-mediawiki: don't use quotes for empty strings
- + git-remote-mediawiki: replace "unless" statements with negated "if" statements
- + git-remote-mediawiki: brace file handles for print for more clarity
- + git-remote-mediawiki: modify strings for a better coding-style
- + git-remote-mediawiki: put long code into a subroutine
- + git-remote-mediawiki: remove import of unused open2
- + git-remote-mediawiki: check return value of open
- + git-remote-mediawiki: assign a variable as undef and make proper indentation
- + git-remote-mediawiki: rename a variable ($last) which has the name of a keyword
- + git-remote-mediawiki: remove unused variable $entry
- + git-remote-mediawiki: turn double-negated expressions into simple expressions
- + git-remote-mediawiki: change the name of a variable
- + git-remote-mediawiki: add newline in the end of die() error messages
- + git-remote-mediawiki: change style in a regexp
- + git-remote-mediawiki: change style in a regexp
- + git-remote-mediawiki: change separator of some regexps
- + git-remote-mediawiki: change the behaviour of a split
- + git-remote-mediawiki: remove useless regexp modifier (m)
- + git-remote-mediawiki: rewrite unclear line of instructions
- + git-remote-mediawiki: change syntax of map calls
- + git-remote-mediawiki: move a variable declaration at the top of the code
- + git-remote-mediawiki: always end a subroutine with a return
- + git-remote-mediawiki: replace :utf8 by :encoding(UTF-8)
- + git-remote-mediawiki: move "use warnings;" before any instruction
- + git-remote-mediawiki: make a regexp clearer
-
- Will merge to 'master'.
-
-
-* jk/apache-test-for-2.4 (2013-06-14) 4 commits
-  (merged to 'next' on 2013-06-17 at 290e72e)
- + t/lib-httpd/apache.conf: configure an MPM module for apache 2.4
- + t/lib-httpd/apache.conf: load compat access module in apache 2.4
- + t/lib-httpd/apache.conf: load extra auth modules in apache 2.4
- + t/lib-httpd/apache.conf: do not use LockFile in apache >= 2.4
-
- Will merge to 'master'.
-
-
-* rr/rebase-sha1-by-string-query (2013-06-14) 3 commits
-  (merged to 'next' on 2013-06-20 at d0742fe)
- + rebase: use peel_committish() where appropriate
- + sh-setup: add new peel_committish() helper
- + t/rebase: add failing tests for a peculiar revision
-
- Allow various commit objects to be given to "git rebase" by ':/look
- for this string' syntax, e.g. "git rebase --onto ':/there'".
-
- Will merge to 'master'.
-
-
-* jk/unpack-entry-fallback-to-another (2013-06-14) 2 commits
-  (merged to 'next' on 2013-06-17 at 89e0eab)
- + unpack_entry: do not die when we fail to apply a delta
- + t5303: drop "count=1" from corruption dd
-
- Will merge to 'master'.
-
-
-* jc/topo-author-date-sort (2013-06-11) 4 commits
+* jc/topo-author-date-sort (2013-06-21) 9 commits
+ - t6003: add --author-date-order test
+ - topology tests: teach a helper to set author dates as well
+ - t6003: add --date-order test
+ - topology tests: teach a helper to take abbreviated timestamps
+ - t/lib-t6000: style fixes
   (merged to 'next' on 2013-06-15 at ad4fb48)
  + log: --author-date-order
  + sort-in-topological-order: use prio-queue
@@ -691,23 +752,22 @@ of the repositories listed at
  output is topologically sorted and commits in parallel histories
  are shown intermixed together based on the author timestamp.
 
- Needs a test or two.
-
-
-* jg/status-config (2013-06-15) 2 commits
-  (merged to 'next' on 2013-06-15 at 2bc6547)
- + status: introduce status.branch to enable --branch by default
- + status: introduce status.short to enable --short by default
-
- Will merge to 'master'.
+ Will merge to 'next'.
 
 
 * mh/loose-refs-race-with-pack-ref (2013-06-19) 3 commits
- - resolve_ref_unsafe(): close race condition reading loose refs
- - resolve_ref_unsafe(): handle the case of an SHA-1 within loop
- - resolve_ref_unsafe(): extract function handle_missing_loose_ref()
+  (merged to 'next' on 2013-06-23 at 2099d0b)
+ + resolve_ref_unsafe(): close race condition reading loose refs
+ + resolve_ref_unsafe(): handle the case of an SHA-1 within loop
+ + resolve_ref_unsafe(): extract function handle_missing_loose_ref()
 
- Will merge to 'next'.
+ We read loose and packed rerferences in two steps, but after
+ deciding to read a loose ref but before actually opening it to read
+ it, another process racing with us can unlink it, which would cause
+ us to barf. Update the codepath to retry when such a race is
+ detected.
+
+ Will merge to 'master'.
 
 
 * jk/commit-info-slab (2013-06-07) 3 commits
@@ -723,42 +783,19 @@ of the repositories listed at
  Will merge to 'master'.
 
 
-* fc/sequencer-plug-leak (2013-06-06) 2 commits
-  (merged to 'next' on 2013-06-20 at 3c94075)
- + sequencer: avoid leaking message buffer when refusing to create an empty commit
- + sequencer: remove useless indentation
-
- Plug a small leak in an error codepath.
-
- Will merge to 'master'.
-
-
-* mz/rebase-tests (2013-06-18) 8 commits
-  (merged to 'next' on 2013-06-18 at 12cfec8)
- + rebase topology tests: fix commit names on case-insensitive file systems
-  (merged to 'next' on 2013-06-14 at 73f3318)
- + tests: move test for rebase messages from t3400 to t3406
- + t3406: modernize style
- + add tests for rebasing merged history
- + add tests for rebasing root
- + add tests for rebasing of empty commits
- + add tests for rebasing with patch-equivalence present
- + add simple tests of consistency across rebase types
-
- Will merge to 'master'.
-
-
 * ap/diff-ignore-blank-lines (2013-06-19) 1 commit
- - diff: add --ignore-blank-lines option
+  (merged to 'next' on 2013-06-23 at 9cf8e03)
+ + diff: add --ignore-blank-lines option
 
  "git diff" learned a mode that ignores hunks whose change consists
  only of additions and removals of blank lines, which is the same as
  "diff -B" (ignore blank lines) of GNU diff.
 
- Will merge to 'next'.
+ Will merge to 'master'.
 
 
-* jx/clean-interactive (2013-06-03) 15 commits
+* jx/clean-interactive (2013-06-24) 16 commits
+ - test: run testcases with POSIX absolute paths on Windows
  - test: add t7301 for git-clean--interactive
  - git-clean: add documentation for interactive git-clean
  - git-clean: add ask each interactive action
@@ -775,11 +812,12 @@ of the repositories listed at
  - path.c: refactor relative_path(), not only strip prefix
  - test: add test cases for relative_path
 
- Waiting for a reroll.
- $gmane/227710
+ Add "interactive" mode to "git clean".
 
+ Waiting for reviews.
 
-* tr/test-v-and-v-subtest-only (2013-06-18) 8 commits
+
+* tr/test-v-and-v-subtest-only (2013-06-23) 8 commits
  - test-lib: support running tests under valgrind in parallel
  - test-lib: allow prefixing a custom string before "ok N" etc.
  - test-lib: valgrind for only tests matching a pattern
@@ -793,6 +831,7 @@ of the repositories listed at
  of the test suite under Valgrind, to speed things up.
 
  The tip two may be useful in practice but is a tad ugly ;-)
+ Rerolled to fix breakage in non-prove tests.
 
  Will merge to 'next'.
 
@@ -857,3 +896,18 @@ of the repositories listed at
  . resolve_ref: close race condition for packed refs
 
  Superseded by mh/ref-races topic, I think.
+
+
+* rr/triangle-push-fix (2013-06-20) 9 commits
+ . push: honor branch.*.push
+ . SQUASH??? fix git-config push.default description
+ . SQUASH??? minimum "simple" safety fix-up
+ . t/t5528-push-default: test pushdefault workflows
+ . t/t5528-push-default: generalize test_push_*
+ . push: remove dead code in setup_push_upstream()
+ . push: change `simple` to accommodate triangular workflows
+ . config doc: rewrite push.default section
+ - t/t5528-push-default: remove redundant test_config lines
+ (this branch is tangled with jc/triangle-push-fixup.)
+
+ A quick rewrite in jc/triangle-push-fixup.