From: Junio C Hamano Date: Tue, 25 Jun 2013 22:04:55 +0000 (-0700) Subject: What's cooking (2013/06 #08) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e81ad98c1a500b74a9dd13bfb8117467e3ed25a9;p=thirdparty%2Fgit.git What's cooking (2013/06 #08) --- diff --git a/whats-cooking.txt b/whats-cooking.txt index a5ad935b7c..b54be52327 100644 --- a/whats-cooking.txt +++ b/whats-cooking.txt @@ -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 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.