{"thread":{"id":"22252","subject":"What's cooking in git.git (Jan 2010, #05; Sat, 16)","startedAt":"2010-01-17T02:46:33Z","lastAt":"2010-01-28T21:16:33Z","messageCount":5,"participants":["Junio C Hamano","Jeff King","Jakub Narebski","Avery Pennarun"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"131919","messageId":"7vljfxa1o6.fsf@alter.siamese.dyndns.org","threadId":"22252","inReplyTo":null,"subject":"What's cooking in git.git (Jan 2010, #05; Sat, 16)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-01-17T02:46:33Z","receivedAt":"2010-01-17T02:46:33Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Here are the topics that have been cooking.  Commits prefixed with '-' are\nonly in 'pu' while commits prefixed with '+' are in 'next'.  The ones\nmarked with '.' do not appear in any of the integration branches, but I am\nstill holding onto them.\n\nI am expecting that the next week we will see quite a busy 'master', as I\nwould really like to close the merge window for 1.7.0 and tag -rc0 by the\nend of it.\n\n--------------------------------------------------\n[New Topics]\n\n* dp/maint-1.6.5-fast-import-non-commit-tag (2010-01-14) 1 commit\n  (merged to 'next' on 2010-01-16 at f95ea8e)\n + fast-import: tag may point to any object type\n\n* il/push-set-upstream (2010-01-16) 1 commit\n  (merged to 'next' on 2010-01-16 at e3a7a60)\n + Add push --set-upstream\n\n* js/windows (2010-01-15) 7 commits\n - Do not use date.c:tm_to_time_t() from compat/mingw.c\n - MSVC: Windows-native implementation for subset of Pthreads API\n - MSVC: Fix an \"incompatible pointer types\" compiler warning\n - Windows: avoid the \"dup dance\" when spawning a child process\n - Windows: simplify the pipe(2) implementation\n - Windows: boost startup by avoiding a static dependency on shell32.dll\n - Windows: disable Python\n\n* nd/status-partial-refresh (2010-01-14) 1 commit\n  (merged to 'next' on 2010-01-16 at f77bc8f)\n + status: only touch path we may need to check\n\n* rr/core-tutorial (2010-01-16) 1 commit\n  (merged to 'next' on 2010-01-16 at d9dd8bd)\n + Documentation: Update git core tutorial clarifying reference to scripts\n\n* jc/conflict-mark-len-attr (2010-01-16) 3 commits\n . WIP : honor conflict-marker-lenght in rerere (does not work yet)\n . rerere: use ll_merge() instead of using xdl_merge()\n . conflict-marker-length: new attribute\n (this branch uses jc/cache-unmerge.)\n\nI am attempting to introduce a new per-path attribute to specify\nnon-default conflict marker length to help rerere grok conflicts in\nDocumentation/git-merge.txt, but the series is not yet in a presentable\nstate yet.\n\n--------------------------------------------------\n[Stalled]\n\n* ap/merge-backend-opts (2008-07-18) 6 commits\n - Document that merge strategies can now take their own options\n - Extend merge-subtree tests to test -Xsubtree=dir.\n - Make \"subtree\" part more orthogonal to the rest of merge-recursive.\n - Teach git-pull to pass -X<option> to git-merge\n - git merge -X<option>\n - git-merge-file --ours, --theirs\n\n\"git pull\" patch needs sq-then-eval fix to protect it from $IFS\nbut otherwise seemed good.\n\n* js/refer-upstream (2009-09-10) 1 commit\n - Introduce <branch>@{upstream} notation\n\nThis does not teach the public interface about the new syntax; callers\nthat care about distinction between name vs SHA-1 might not work as well\nas they should.\n\n* jh/notes (2009-12-07) 11 commits\n - Refactor notes concatenation into a flexible interface for combining notes\n - Notes API: Allow multiple concurrent notes trees with new struct notes_tree\n - Notes API: for_each_note(): Traverse the entire notes tree with a callback\n - Notes API: get_note(): Return the note annotating the given object\n - Notes API: add_note(): Add note objects to the internal notes tree structure\n - Notes API: init_notes(): Initialize the notes tree from the given notes ref\n - Notes API: get_commit_notes() -> format_note() + remove the commit restriction\n - Minor style fixes to notes.c\n  (merged to 'next' on 2010-01-02 at ae42130)\n + Add more testcases to test fast-import of notes\n + Rename t9301 to t9350, to make room for more fast-import tests\n + fast-import: Proper notes tree manipulation\n\nhttp://thread.gmane.org/gmane.comp.version-control.git/134738\n\nWhat's the status of the fourth and later patches on this topic?  Overall\nit looked reasonable, if I recall correctly what I thought when I reviewed\nit last time, and I am tempted to merge it to 'next' soonish.  Please\nfile complaints before I do so if people have objections.\n\nHold: JH on 2010-01-05, http://article.gmane.org/gmane.comp.version-control.git/136183\n\n--------------------------------------------------\n[Will merge to 'master' soon unless somebody complains]\n\n* jk/warn-author-committer-after-commit (2010-01-13) 4 commits\n  (merged to 'next' on 2010-01-16 at f22c077)\n + commit: allow suppression of implicit identity advice\n + commit: show interesting ident information in summary\n + strbuf: add strbuf_addbuf_percentquote\n + strbuf_expand: convert \"%%\" to \"%\"\n\n* tr/http-push-ref-status (2010-01-08) 6 commits\n  (merged to 'next' on 2010-01-16 at 7e872ac)\n + transport-helper.c::push_refs(): emit \"no refs\" error message\n + transport-helper.c::push_refs(): ignore helper-reported status if ref is not to be pushed\n + transport.c::transport_push(): make ref status affect return value\n + refactor ref status logic for pushing\n + t5541-http-push.sh: add test for unmatched, non-fast-forwarded refs\n + t5541-http-push.sh: add tests for non-fast-forward pushes\n\n* sr/gfi-options (2009-12-04) 7 commits\n  (merged to 'next' on 2010-01-10 at 8b305fb)\n + fast-import: add (non-)relative-marks feature\n + fast-import: allow for multiple --import-marks= arguments\n + fast-import: test the new option command\n + fast-import: add option command\n + fast-import: add feature command\n + fast-import: put marks reading in its own function\n + fast-import: put option parsing code in separate functions\n\n* tc/smart-http-restrict (2010-01-14) 5 commits\n  (merged to 'next' on 2010-01-16 at 71fc84c)\n + Test t5560: Fix test when run with dash\n  (merged to 'next' on 2010-01-06 at 82736cb)\n + Smart-http tests: Test http-backend without curl or a webserver\n + Smart-http tests: Break test t5560-http-backend into pieces\n + Smart-http tests: Improve coverage in test t5560\n + Smart-http: check if repository is OK to export before serving it\n\n* tc/clone-v-progress (2009-12-26) 4 commits\n  (merged to 'next' on 2010-01-10 at ec2bfd7)\n + clone: use --progress to force progress reporting\n + clone: set transport->verbose when -v/--verbose is used\n + git-clone.txt: reword description of progress behaviour\n + check stderr with isatty() instead of stdout when deciding to show progress\n\nPerhaps needs an entry in the Release Notes, but otherwise looked Ok.\n\n* jk/run-command-use-shell (2010-01-01) 8 commits\n  (merged to 'next' on 2010-01-10 at 7479e2a)\n + t4030, t4031: work around bogus MSYS bash path conversion\n + diff: run external diff helper with shell\n + textconv: use shell to run helper\n + editor: use run_command's shell feature\n + run-command: optimize out useless shell calls\n + run-command: convert simple callsites to use_shell\n + t0021: use $SHELL_PATH for the filter script\n + run-command: add \"use shell\" option\n\nShuffled the commits in the topic, following J6t's suggestion in\nhttp://thread.gmane.org/gmane.comp.version-control.git/136128\n\n* jn/makefile (2010-01-06) 4 commits\n  (merged to 'next' on 2010-01-10 at f5a5d42)\n + Makefile: consolidate .FORCE-* targets\n + Makefile: learn to generate listings for targets requiring special flags\n + Makefile: use target-specific variable to pass flags to cc\n + Makefile: regenerate assembler listings when asked\n\n* jc/maint-1.6.1-checkout-m-custom-merge (2010-01-06) 1 commit\n  (merged to 'next' on 2010-01-10 at df14116)\n + checkout -m path: fix recreating conflicts\n\n* bk/fix-relative-gitdir-file (2010-01-08) 2 commits\n  (merged to 'next' on 2010-01-16 at cc4ae57)\n + Handle relative paths in submodule .git files\n + Test update-index for a gitlink to a .git file\n\n* jh/commit-status (2010-01-13) 2 commits\n  (merged to 'next' on 2010-01-13 at 0905d59)\n + t7502: test commit.status, --status and --no-status\n + commit: support commit.status, --status, and --no-status\n\nI have already given ample time for people to react, but ended up getting\ntired of waiting for tests to materialize and doing it myself, as I want\nto close merge window for 1.7.0-rc0 by the end of next week to have the\nfinal release early next month.\n\n* sd/cd-p-show-toplevel (2010-01-12) 2 commits\n  (merged to 'next' on 2010-01-16 at 57d6d31)\n + Use $(git rev-parse --show-toplevel) in cd_to_toplevel().\n + Add 'git rev-parse --show-toplevel' option.\n\nAvoid having to use \"cd -P\" that may not be available on some platforms'\nshells.\n\n* tc/test-locate-httpd (2010-01-02) 1 commit\n  (merged to 'next' on 2010-01-06 at 9d913e5)\n + t/lib-http.sh: Restructure finding of default httpd location\n\n--------------------------------------------------\n[Will merge to 'master' after a bit more cooking in 'next']\n\n* mh/rebase-fixup (2010-01-14) 21 commits\n  (merged to 'next' on 2010-01-16 at 7ccb228)\n + rebase -i: Retain user-edited commit messages after squash/fixup conflicts\n + t3404: Set up more of the test repo in the \"setup\" step\n + rebase -i: For fixup commands without squashes, do not start editor\n + rebase -i: Change function make_squash_message into update_squash_message\n + rebase -i: Extract function do_with_author\n + rebase -i: Handle the author script all in one place in do_next\n + rebase -i: Extract a function \"commit_message\"\n + rebase -i: Simplify commit counting for generated commit messages\n + rebase -i: Improve consistency of commit count in generated commit messages\n + t3404: Test the commit count in commit messages generated by \"rebase -i\"\n + rebase -i: Introduce a constant AMEND\n + rebase -i: Introduce a constant AUTHOR_SCRIPT\n + rebase -i: Document how temporary files are used\n + rebase -i: Use symbolic constant $MSG consistently\n + rebase -i: Use \"test -n\" instead of \"test ! -z\"\n + rebase -i: Inline expression\n + rebase -i: Remove dead code\n + rebase -i: Make the condition for an \"if\" more transparent\n  (merged to 'next' on 2010-01-12 at e84eab0)\n + rebase-i: Ignore comments and blank lines in peek_next_command\n + lib-rebase: Allow comments and blank lines to be added to the rebase script\n + lib-rebase: Provide clearer debugging info about what the editor did\n + Add a command \"fixup\" to rebase --interactive\n + t3404: Use test_commit to set up test repository\n (this branch is used by ns/rebase-auto-squash.)\n\n* ns/rebase-auto-squash (2009-12-08) 1 commit\n  (merged to 'next' on 2010-01-06 at da4e2f5)\n + rebase -i --autosquash: auto-squash commits\n (this branch uses mh/rebase-fixup.)\n\n* da/difftool (2010-01-15) 10 commits\n  (merged to 'next' on 2010-01-16 at 609f0da)\n + difftool: Update copyright notices to list each year separately\n + difftool: Use eval to expand '--extcmd' expressions\n + difftool: Add '-x' and as an alias for '--extcmd'\n + t7800-difftool.sh: Simplify the --extcmd test\n  (merged to 'next' on 2010-01-10 at 749c870)\n + git-diff.txt: Link to git-difftool\n + difftool: Allow specifying unconfigured commands with --extcmd\n + difftool--helper: Remove use of the GIT_MERGE_TOOL variable\n + difftool--helper: Update copyright and remove distracting comments\n  (merged to 'next' on 2010-01-06 at e957395)\n + git-difftool: Add '--gui' for selecting a GUI tool\n + t7800-difftool: Set a bogus tool for use by tests\n\n* mm/conflict-advice (2010-01-12) 1 commit\n  (merged to 'next' on 2010-01-16 at b83be11)\n + Be more user-friendly when refusing to do something because of conflict.\n\n* jc/maint-strbuf-add-fix-doubling (2010-01-12) 1 commit\n  (merged to 'next' on 2010-01-16 at 5959eee)\n + strbuf_addbuf(): allow passing the same buf to dst and src\n\n* jc/maint-1.6.4-grep-lookahead (2010-01-10) 1 commit\n  (merged to 'next' on 2010-01-13 at 20f8f4b)\n + grep: optimize built-in grep by skipping lines that do not hit\n (this branch is used by jc/grep-lookahead and jc/maint-grep-lookahead.)\n\nOptimize the \"line-by-line\" internal grep by skiping en masse over lines\nthat cannot possibly match.\n\n* jc/maint-grep-lookahead (2010-01-12) 0 commits\n (this branch uses jc/maint-1.6.4-grep-lookahead; is used by jc/grep-lookahead.)\n\nEarly conflict resolution for the above for recent git.\n\n* jc/grep-lookahead (2010-01-15) 4 commits\n - grep --no-index: allow use of \"git grep\" outside a git repository\n - grep: prepare to run outside of a work tree\n  (merged to 'next' on 2010-01-13 at 20f8f4b)\n + grep: rip out pessimization to use fixmatch()\n + grep: rip out support for external grep\n (this branch uses jc/maint-1.6.4-grep-lookahead and jc/maint-grep-lookahead.)\n\n* nd/include-termios-for-osol (2010-01-11) 1 commit\n  (merged to 'next' on 2010-01-16 at 3160c76)\n + Add missing #include to support TIOCGWINSZ on Solaris\n\n* pc/uninteresting-submodule-disappear-upon-switch-branches (2010-01-11) 1 commit\n  (merged to 'next' on 2010-01-16 at b06ca1a)\n + Remove empty directories when checking out a commit with fewer submodules\n\nInstead of using unlink(2) that will never succeed, use rmdir(2) to remove\nan empty directory, knowing that this won't harm a populated directory.\n\n* jl/submodule-diff (2010-01-16) 2 commits\n  (merged to 'next' on 2010-01-16 at 0a99e3c)\n + Teach diff that modified submodule directory is dirty\n + Show submodules as modified when they contain a dirty work tree\n\n* jc/ls-files-ignored-pathspec (2010-01-08) 4 commits\n  (merged to 'next' on 2010-01-16 at d36016a)\n + ls-files: fix overeager pathspec optimization\n + read_directory(): further split treat_path()\n + read_directory_recursive(): refactor handling of a single path into a separate function\n + t3001: test ls-files -o ignored/dir\n\n* js/exec-error-report (2010-01-12) 4 commits\n  (merged to 'next' on 2010-01-16 at 0e28d02)\n + Improve error message when a transport helper was not found\n + start_command: detect execvp failures early\n + run-command: move wait_or_whine earlier\n + start_command: report child process setup errors to the parent's stderr\n\n* jc/fix-tree-walk (2009-09-14) 7 commits\n  (merged to 'next' on 2010-01-13 at 1c01b87)\n + read-tree --debug-unpack\n + unpack-trees.c: look ahead in the index\n + unpack-trees.c: prepare for looking ahead in the index\n + Aggressive three-way merge: fix D/F case\n + traverse_trees(): handle D/F conflict case sanely\n + more D/F conflict tests\n + tests: move convenience regexp to match object names to test-lib.sh\n\nResurrected from \"Ejected\" category.  This is fix for a tricky codepath\nand testing and improving before it hits 'master' is greatly appreciated.\n(I have been using this in my private build for some time).\n\n* jc/cache-unmerge (2009-12-25) 9 commits\n  (merged to 'next' on 2010-01-13 at 2290c44)\n + rerere forget path: forget recorded resolution\n + rerere: refactor rerere logic to make it independent from I/O\n + rerere: remove silly 1024-byte line limit\n + resolve-undo: teach \"update-index --unresolve\" to use resolve-undo info\n + resolve-undo: \"checkout -m path\" uses resolve-undo information\n + resolve-undo: allow plumbing to clear the information\n + resolve-undo: basic tests\n + resolve-undo: record resolved conflicts in a new index extension section\n + builtin-merge.c: use standard active_cache macros\n (this branch is used by jc/conflict-mark-len-attr.)\n\n* jc/rerere (2009-12-04) 1 commit\n  (merged to 'next' on 2010-01-10 at e295b7f)\n + Teach --[no-]rerere-autoupdate option to merge, revert and friends\n\n--------------------------------------------------\n[Cooking]\n\n* jc/symbol-static (2010-01-11) 17 commits\n - symlinks.c: remove unused functions\n - object.c: remove unused functions\n - blob.c: remove unused function\n - strbuf.c: remove unused function\n - sha1_file.c: remove unused function\n - mailmap.c: remove unused function\n - utf8.c: mark file-local function static\n - submodule.c: mark file-local function static\n - quote.c: mark file-local function static\n - remote-curl.c: mark file-local function static\n - read-cache.c: mark file-local functions static\n - parse-options.c: mark file-local function static\n - entry.c: mark file-local function static\n - http.c: mark file-local functions static\n - pretty.c: mark file-local function static\n - builtin-rev-list.c: mark file-local function static\n - bisect.c: mark file-local function static\n\nMark file-local symbols \"static\", and remove unused functions.  Daniel\nsuggests to leave some comment for blob.c and I agree in principle, but\nI don't think of a good description myself.\n\n* jh/gitweb-cached (2010-01-13) 9 commits\n - gitweb: File based caching layer (from git.kernel.org)\n - gitweb: Convert output to using indirect file handle\n - gitweb: cleanup error message produced by undefined $site_header\n - gitweb: add a get function to compliment print_sort_th\n - gitweb: add a get function to compliment print_local_time\n - gitweb: Makefile improvements\n - gitweb: Add option to force version match\n - gitweb: change die_error to take \"extra\" argument for extended die information\n - gitweb: Load checking\n\nReplaced with a re-roll.  Update to t9500 is probably needed.\n\n* jc/ident (2010-01-08) 3 commits\n - ident.c: treat $EMAIL as giving user.email identity explicitly\n  (merged to 'next' on 2010-01-10 at f1f9ded)\n + ident.c: check explicit identity for name and email separately\n + ident.c: remove unused variables\n\nOpinions on the topmost one?\n\n* jc/branch-d (2009-12-29) 1 commit\n  (merged to 'next' on 2010-01-10 at 61a14b7)\n + branch -d: base the \"already-merged\" safety on the branch it merges with\n"},{"id":"131961","messageId":"20100117194036.GC31536@coredump.intra.peff.net","threadId":"22252","inReplyTo":"7vljfxa1o6.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jan 2010, #05; Sat, 16)","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2010-01-17T19:40:36Z","receivedAt":"2010-01-17T19:40:36Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Sat, Jan 16, 2010 at 06:46:33PM -0800, Junio C Hamano wrote:\n\n> * jc/ident (2010-01-08) 3 commits\n>  - ident.c: treat $EMAIL as giving user.email identity explicitly\n>   (merged to 'next' on 2010-01-10 at f1f9ded)\n>  + ident.c: check explicit identity for name and email separately\n>  + ident.c: remove unused variables\n> \n> Opinions on the topmost one?\n\nI don't see a problem with the top one as long as the order is (in order\nof decreasing precedence):\n\n  1. GIT_*_EMAIL\n  2. git config\n  3. EMAIL\n  4. `whoami`@`hostname`\n\nwhich from my tests seems to be the case. That is, even though\nenvironment variables generally take precedence over config,\ngit-specific environment variables and config take precedence over\ngeneric config.\n\nOtherwise I think we may surprise some people who have EMAIL set.\n\n-Peff\n"},{"id":"132007","messageId":"m38wbwcdzv.fsf@localhost.localdomain","threadId":"22252","inReplyTo":"7vljfxa1o6.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jan 2010, #05; Sat, 16)","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2010-01-18T03:02:41Z","receivedAt":"2010-01-18T03:02:41Z","isPatch":false,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> * jh/gitweb-cached (2010-01-13) 9 commits\n\nThose two I think are not close to be ready\n>  - gitweb: File based caching layer (from git.kernel.org)\nLarge code dump.  I am working (slowly) on splitting it.\n\n>  - gitweb: Convert output to using indirect file handle\nDoes not need two file handles.  Style should probably be \"print $out <sth>\"\n\nThos could probably be merged soon (after final round of corrections)\n>  - gitweb: cleanup error message produced by undefined $site_header\nIt's not only $site_header\n\n>  - gitweb: add a get function to compliment print_sort_th\n>  - gitweb: add a get function to compliment print_local_time\nO.K.\n\n>  - gitweb: Makefile improvements\nI think it is O.K.\n\n>  - gitweb: Add option to force version match\nAllow for version mismatch in test, add test for version match\n\n>  - gitweb: change die_error to take \"extra\" argument for extended die information\nMinor fixup (commit message, whitespace).  Otherwise O.K.\n\n>  - gitweb: Load checking\nO.K., but needs a fixup to 'blame_incremental' related code.  Some\nassumptions can hold no longer\n\n> \n> Replaced with a re-roll.  Update to t9500 is probably needed.\n\n-- \nJakub Narebski\nPoland\nShadeHawk on #git\n"},{"id":"132016","messageId":"7vd417udpi.fsf@alter.siamese.dyndns.org","threadId":"22252","inReplyTo":"7vljfxa1o6.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jan 2010, #05; Sat, 16)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2010-01-18T06:30:49Z","receivedAt":"2010-01-18T06:30:49Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Junio C Hamano <gitster@pobox.com> writes:\n\n> [Stalled]\n>\n> * ap/merge-backend-opts (2008-07-18) 6 commits\n>  - Document that merge strategies can now take their own options\n>  - Extend merge-subtree tests to test -Xsubtree=dir.\n>  - Make \"subtree\" part more orthogonal to the rest of merge-recursive.\n>  - Teach git-pull to pass -X<option> to git-merge\n>  - git merge -X<option>\n>  - git-merge-file --ours, --theirs\n>\n> \"git pull\" patch needs sq-then-eval fix to protect it from $IFS\n> but otherwise seemed good.\n\nGenerally I hate to step in to fix up other's series, especially when I\nknow that the party responsible for issues is capable enough.  As the\npre-release feature freeze gets closer, however, I sometimes find myself\ndoing so, and (I repeat) I hate it.\n\nIn any case, a squashable update to the \"Teach git-pull to pass -X\" would\nlook like this.  Please give it extra set of eyeballs.\n\ndiff --git a/git-pull.sh b/git-pull.sh\nindex 6d961b6..fc3536b 100755\n--- a/git-pull.sh\n+++ b/git-pull.sh\n@@ -68,10 +68,10 @@ do\n \t\t1,-X)\n \t\t\tusage ;;\n \t\t*,-X)\n-\t\t\txx=\"-X $2\"\n+\t\t\txx=\"-X $(git rev-parse --sq-quote \"$2\")\"\n \t\t\tshift ;;\n \t\t*,*)\n-\t\t\txx=\"$1\" ;;\n+\t\t\txx=$(git rev-parse --sq-quote \"$1\") ;;\n \t\tesac\n \t\tmerge_args=\"$merge_args$xx \"\n \t\t;;\n@@ -228,8 +228,15 @@ then\n fi\n \n merge_name=$(git fmt-merge-msg $log_arg <\"$GIT_DIR/FETCH_HEAD\") || exit\n-test true = \"$rebase\" &&\n-\texec git-rebase $diffstat $strategy_args $merge_args --onto $merge_head \\\n-\t${oldremoteref:-$merge_head}\n-exec git-merge $diffstat $no_commit $squash $no_ff $ff_only $log_arg $strategy_args $merge_args \\\n-\t\"$merge_name\" HEAD $merge_head $verbosity\n+case \"$rebase\" in\n+true)\n+\teval=\"git-rebase $diffstat $strategy_args $merge_args\"\n+\teval=\"$eval --onto $merge_head ${oldremoteref:-$merge_head}\"\n+\t;;\n+*)\n+\teval=\"git-merge $diffstat $no_commit $squash $no_ff $ff_only\"\n+\teval=\"$eval  $log_arg $strategy_args $merge_args\"\n+\teval=\"$eval \\\"$merge_name\\\" HEAD $merge_head $verbosity\"\n+\t;;\n+esac\n+eval \"exec $eval\"\n"},{"id":"132909","messageId":"32541b131001281316m59128e7ds45353a30ac602b6f@mail.gmail.com","threadId":"22252","inReplyTo":"7vd417udpi.fsf@alter.siamese.dyndns.org","subject":"Re: What's cooking in git.git (Jan 2010, #05; Sat, 16)","fromName":"Avery Pennarun","fromEmail":"apenwarr@gmail.com","sentAt":"2010-01-28T21:16:33Z","receivedAt":"2010-01-28T21:16:33Z","isPatch":false,"sender":{"key":"apenwarr@gmail.com","avatar":"https://avatars.githubusercontent.com/u/20592?v=4"},"body":"On Mon, Jan 18, 2010 at 1:30 AM, Junio C Hamano <gitster@pobox.com> wrote:\n> Junio C Hamano <gitster@pobox.com> writes:\n>\n>> [Stalled]\n>>\n>> * ap/merge-backend-opts (2008-07-18) 6 commits\n>>  - Document that merge strategies can now take their own options\n>>  - Extend merge-subtree tests to test -Xsubtree=dir.\n>>  - Make \"subtree\" part more orthogonal to the rest of merge-recursive.\n>>  - Teach git-pull to pass -X<option> to git-merge\n>>  - git merge -X<option>\n>>  - git-merge-file --ours, --theirs\n>>\n>> \"git pull\" patch needs sq-then-eval fix to protect it from $IFS\n>> but otherwise seemed good.\n>\n> Generally I hate to step in to fix up other's series, especially when I\n> know that the party responsible for issues is capable enough.  As the\n> pre-release feature freeze gets closer, however, I sometimes find myself\n> doing so, and (I repeat) I hate it.\n\nSorry about that.  I asked at the time whether you thought I should\nsubmit a patch or whether you were planning to do it, and didn't get\nan answer.  And then when you wrote the above, I was away on vacation.\n I see it's now been merged into master, but in case you care... it\nlooks ok to me :)\n\nHave fun,\n\nAvery\n"}]}