{"thread":{"id":"10975","subject":"Reordering lines in \"git-rebase -i\" task sheet","startedAt":"2007-11-22T09:21:55Z","lastAt":"2007-11-29T09:59:12Z","messageCount":14,"participants":["Junio C Hamano","Johannes Schindelin","Jeff King","David Brown","Andy Parkins","David Kastrup"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"60626","messageId":"7vlk8q7hzg.fsf@gitster.siamese.dyndns.org","threadId":"10975","inReplyTo":null,"subject":"Reordering lines in \"git-rebase -i\" task sheet","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-22T09:21:55Z","receivedAt":"2007-11-22T09:21:55Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"When you start \"git rebase -i\" to reorder a few commits, you are\npresented with an editor buffer with 9 or so lines of help text\nand then lines you are supposed to edit, but most editors start\nwith your edit cursor at line 1.  IOW, _everybody_ has to move\ntheir cursor down at least 9 lines before doing anything\nmeaningful (or they can remove 9 lines but that is the same\nthing).\n\nCould we please reorder the lines so that list of initial\n\"pick\"s come first and have the help comment lines at the very\nend?\n\nThat is the reason why git commit leaves the first line empty in\nits initial template.  It is to allow the user to immediately\nstart typing.\n"},{"id":"60655","messageId":"Pine.LNX.4.64.0711221113360.27959@racer.site","threadId":"10975","inReplyTo":"7vlk8q7hzg.fsf@gitster.siamese.dyndns.org","subject":"[PATCH] rebase -i: move help to end of todo file","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T11:15:51Z","receivedAt":"2007-11-22T11:15:51Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nMany editors start in the first line, so the 9-line help text was an\nannoyance.  So move it to the end.\n\nRequested by Junio.\n\nWhile at it, add a hint how to abort the rebase.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n\n\tOn Thu, 22 Nov 2007, Junio C Hamano wrote:\n\n\t> Could we please reorder the lines so that list of initial \n\t> \"pick\"s come first and have the help comment lines at the very \n\t> end?\n\n\tHow about this?  I am hesitant to remove _everything_, since quite \n\ta few people seem to be allergic to man pages, so they fire up \n\trebase -i without any clue.\n\n git-rebase--interactive.sh |   15 +++++++++------\n 1 files changed, 9 insertions(+), 6 deletions(-)\n\ndiff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh\nindex a6dc72a..aca2fbb 100755\n--- a/git-rebase--interactive.sh\n+++ b/git-rebase--interactive.sh\n@@ -480,20 +480,23 @@ do\n \t\tSHORTHEAD=$(git rev-parse --short $HEAD)\n \t\tSHORTONTO=$(git rev-parse --short $ONTO)\n \t\tcat > \"$TODO\" << EOF\n-# Rebasing $SHORTUPSTREAM..$SHORTHEAD onto $SHORTONTO\n-#\n+# Rebasing $SHORTUPSTREAM..$SHORTHEAD onto $SHORTONTO (see end for help)\n+EOF\n+\t\tgit rev-list $MERGES_OPTION --pretty=oneline --abbrev-commit \\\n+\t\t\t--abbrev=7 --reverse --left-right --cherry-pick \\\n+\t\t\t$UPSTREAM...$HEAD | \\\n+\t\t\tsed -n \"s/^>/pick /p\" >> \"$TODO\"\n+\t\tcat >> \"$TODO\" << EOF\n+\n # Commands:\n #  pick = use commit\n #  edit = use commit, but stop for amending\n #  squash = use commit, but meld into previous commit\n #\n # If you remove a line here THAT COMMIT WILL BE LOST.\n+# However, if you remove everything, the rebase will be aborted.\n #\n EOF\n-\t\tgit rev-list $MERGES_OPTION --pretty=oneline --abbrev-commit \\\n-\t\t\t--abbrev=7 --reverse --left-right --cherry-pick \\\n-\t\t\t$UPSTREAM...$HEAD | \\\n-\t\t\tsed -n \"s/^>/pick /p\" >> \"$TODO\"\n \n \t\thas_action \"$TODO\" ||\n \t\t\tdie_abort \"Nothing to do\"\n-- \n1.5.3.6.1977.g54d30\n"},{"id":"60656","messageId":"Pine.LNX.4.64.0711221117590.27959@racer.site","threadId":"10975","inReplyTo":"7vlk8q7hzg.fsf@gitster.siamese.dyndns.org","subject":"[PATCH] rebase -i: give rerere a chance","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T11:18:10Z","receivedAt":"2007-11-22T11:18:10Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\nLike non-interactive rebase, interactive mode now calls rerere when\nappropriate.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n\n\tWhile I was working with rebase -i yesterday, I realised that it\n\tdid not call rerere at all.  And sure enough, there was a\n\tNEEDSWORK in rebase -i for that.\n\n\tNow, I _hope_ I got all the locations where the rerere should be\n\tcleared, but this could use a few pairs of eyeballs.\n\n git-rebase--interactive.sh |    5 ++++-\n 1 files changed, 4 insertions(+), 1 deletions(-)\n\ndiff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh\nindex ead7da7..a6dc72a 100755\n--- a/git-rebase--interactive.sh\n+++ b/git-rebase--interactive.sh\n@@ -81,6 +81,7 @@ make_patch () {\n \n die_with_patch () {\n \tmake_patch \"$1\"\n+\tgit rerere\n \tdie \"$2\"\n }\n \n@@ -166,13 +167,13 @@ pick_one_preserving_merges () {\n \t\t\tmsg=\"$(git cat-file commit $sha1 | sed -e '1,/^$/d')\"\n \t\t\t# No point in merging the first parent, that's HEAD\n \t\t\tnew_parents=${new_parents# $first_parent}\n-\t\t\t# NEEDSWORK: give rerere a chance\n \t\t\tif ! GIT_AUTHOR_NAME=\"$GIT_AUTHOR_NAME\" \\\n \t\t\t\tGIT_AUTHOR_EMAIL=\"$GIT_AUTHOR_EMAIL\" \\\n \t\t\t\tGIT_AUTHOR_DATE=\"$GIT_AUTHOR_DATE\" \\\n \t\t\t\toutput git merge $STRATEGY -m \"$msg\" \\\n \t\t\t\t\t$new_parents\n \t\t\tthen\n+\t\t\t\tgit rerere\n \t\t\t\tprintf \"%s\\n\" \"$msg\" > \"$GIT_DIR\"/MERGE_MSG\n \t\t\t\tdie Error redoing merge $sha1\n \t\t\tfi\n@@ -360,6 +361,7 @@ do\n \t--abort)\n \t\tcomment_for_reflog abort\n \n+\t\tgit rerere clear\n \t\ttest -d \"$DOTEST\" || die \"No interactive rebase running\"\n \n \t\tHEADNAME=$(cat \"$DOTEST\"/head-name)\n@@ -376,6 +378,7 @@ do\n \t--skip)\n \t\tcomment_for_reflog skip\n \n+\t\tgit rerere clear\n \t\ttest -d \"$DOTEST\" || die \"No interactive rebase running\"\n \n \t\toutput git reset --hard && do_rest\n-- \n1.5.3.6.1977.g54d30\n"},{"id":"60669","messageId":"Pine.LNX.4.64.0711221139490.27959@racer.site","threadId":"10975","inReplyTo":"Pine.LNX.4.64.0711221113360.27959@racer.site","subject":"[PATCH] Adjust t3404 to ignore empty lines in the todo file","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T11:41:27Z","receivedAt":"2007-11-22T11:41:27Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"\n---\n\n\t... and this fixes the tests again.  I changed the single \"#\"\n\tline after the commits to an empty line, since it made things\n\tmore readable to this developer.  The test expected \"#\", though.\n\n\tPlease amend.\n\n t/t3404-rebase-interactive.sh |    3 ++-\n 1 files changed, 2 insertions(+), 1 deletions(-)\n\ndiff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh\nindex f1039d1..907c7f9 100755\n--- a/t/t3404-rebase-interactive.sh\n+++ b/t/t3404-rebase-interactive.sh\n@@ -149,7 +149,8 @@ test_expect_success 'stop on conflicting pick' '\n \tdiff -u expect .git/.dotest-merge/patch &&\n \tdiff -u expect2 file1 &&\n \ttest 4 = $(grep -v \"^#\" < .git/.dotest-merge/done | wc -l) &&\n-\ttest 0 = $(grep -v \"^#\" < .git/.dotest-merge/git-rebase-todo | wc -l)\n+\ttest 0 = $(grep -ve \"^#\" -e \"^$\" < .git/.dotest-merge/git-rebase-todo |\n+\t\twc -l)\n '\n \n test_expect_success 'abort' '\n-- \n1.5.3.6.1977.g54d30\n"},{"id":"60671","messageId":"7vbq9m5wpa.fsf@gitster.siamese.dyndns.org","threadId":"10975","inReplyTo":"Pine.LNX.4.64.0711221113360.27959@racer.site","subject":"Re: [PATCH] rebase -i: move help to end of todo file","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-22T11:46:57Z","receivedAt":"2007-11-22T11:46:57Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> \tHow about this?  I am hesitant to remove _everything_, since quite \n> \ta few people seem to be allergic to man pages, so they fire up \n> \trebase -i without any clue.\n\nOh, I wouldn't dream of suggesting complete removal of the help\ntext, but leaving the single line at the beginning is not an\nimprovement.  What's on that single line is not particularly\nuseful but that is a separate issue.\n\nMoving everything down will hurt ONLY when (1) the rebase is\nabout a large series (more than 24 commits in vt100) AND (2) the\nuser hasn't run \"rebase -i\" before and does not know that there\nis a reminder insn at the end.  Now is it likely for a newbie to\nrun \"rebase -i\" with 20-30 commits and that invocation is his\nfirst \"rebase -i\" invocation in his life?\n\nThe new help line at the end is helpful, by the way.  I always\nhad \"Huh?\"  moment, and did ^Z followed by kill %% instead.\n"},{"id":"60681","messageId":"Pine.LNX.4.64.0711221225570.27959@racer.site","threadId":"10975","inReplyTo":"7vbq9m5wpa.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] rebase -i: move help to end of todo file","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T12:30:10Z","receivedAt":"2007-11-22T12:30:10Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 22 Nov 2007, Junio C Hamano wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > \tHow about this?  I am hesitant to remove _everything_, since quite \n> > \ta few people seem to be allergic to man pages, so they fire up \n> > \trebase -i without any clue.\n> \n> Oh, I wouldn't dream of suggesting complete removal of the help\n> text, \n\nI meant to \"move\" everything.  Sorry.\n\n> but leaving the single line at the beginning is not an improvement.  \n> What's on that single line is not particularly useful but that is a \n> separate issue.\n\nOkay, so you'd like this better?\n\n-- snipsnap --\n[PATCH] rebase -i: move help to end of todo file\n\nMany editors start in the first line, so the 9-line help text was an\nannoyance.  So move it to the end.\n\nRequested by Junio.\n\nWhile at it, add a hint how to abort the rebase.\n\nSigned-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>\n---\n git-rebase--interactive.sh    |   14 ++++++++------\n t/t3404-rebase-interactive.sh |    3 ++-\n 2 files changed, 10 insertions(+), 7 deletions(-)\n\ndiff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh\nindex a6dc72a..58fde89 100755\n--- a/git-rebase--interactive.sh\n+++ b/git-rebase--interactive.sh\n@@ -479,8 +479,13 @@ do\n \t\tSHORTUPSTREAM=$(git rev-parse --short $UPSTREAM)\n \t\tSHORTHEAD=$(git rev-parse --short $HEAD)\n \t\tSHORTONTO=$(git rev-parse --short $ONTO)\n-\t\tcat > \"$TODO\" << EOF\n-# Rebasing $SHORTUPSTREAM..$SHORTHEAD onto $SHORTONTO\n+\t\tgit rev-list $MERGES_OPTION --pretty=oneline --abbrev-commit \\\n+\t\t\t--abbrev=7 --reverse --left-right --cherry-pick \\\n+\t\t\t$UPSTREAM...$HEAD | \\\n+\t\t\tsed -n \"s/^>/pick /p\" > \"$TODO\"\n+\t\tcat >> \"$TODO\" << EOF\n+\n+# Rebase $SHORTUPSTREAM..$SHORTHEAD onto $SHORTONTO\n #\n # Commands:\n #  pick = use commit\n@@ -488,12 +493,9 @@ do\n #  squash = use commit, but meld into previous commit\n #\n # If you remove a line here THAT COMMIT WILL BE LOST.\n+# However, if you remove everything, the rebase will be aborted.\n #\n EOF\n-\t\tgit rev-list $MERGES_OPTION --pretty=oneline --abbrev-commit \\\n-\t\t\t--abbrev=7 --reverse --left-right --cherry-pick \\\n-\t\t\t$UPSTREAM...$HEAD | \\\n-\t\t\tsed -n \"s/^>/pick /p\" >> \"$TODO\"\n \n \t\thas_action \"$TODO\" ||\n \t\t\tdie_abort \"Nothing to do\"\ndiff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh\nindex f1039d1..907c7f9 100755\n--- a/t/t3404-rebase-interactive.sh\n+++ b/t/t3404-rebase-interactive.sh\n@@ -149,7 +149,8 @@ test_expect_success 'stop on conflicting pick' '\n \tdiff -u expect .git/.dotest-merge/patch &&\n \tdiff -u expect2 file1 &&\n \ttest 4 = $(grep -v \"^#\" < .git/.dotest-merge/done | wc -l) &&\n-\ttest 0 = $(grep -v \"^#\" < .git/.dotest-merge/git-rebase-todo | wc -l)\n+\ttest 0 = $(grep -ve \"^#\" -e \"^$\" < .git/.dotest-merge/git-rebase-todo |\n+\t\twc -l)\n '\n \n test_expect_success 'abort' '\n-- \n1.5.3.6.1977.g54d30\n"},{"id":"60682","messageId":"20071122123137.GG10389@sigill.intra.peff.net","threadId":"10975","inReplyTo":"Pine.LNX.4.64.0711221225570.27959@racer.site","subject":"Re: [PATCH] rebase -i: move help to end of todo file","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2007-11-22T12:31:37Z","receivedAt":"2007-11-22T12:31:37Z","isPatch":true,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Nov 22, 2007 at 12:30:10PM +0000, Johannes Schindelin wrote:\n\n> I meant to \"move\" everything.  Sorry.\n> \n> > but leaving the single line at the beginning is not an improvement.  \n> > What's on that single line is not particularly useful but that is a \n> > separate issue.\n> \n> Okay, so you'd like this better?\n\nI like it much better (I was about to send the same complaint about the\ntop line, but Junio beat me to it).\n\n-Peff\n"},{"id":"60701","messageId":"20071122192556.GA14662@old.davidb.org","threadId":"10975","inReplyTo":"7vlk8q7hzg.fsf@gitster.siamese.dyndns.org","subject":"Re: Reordering lines in \"git-rebase -i\" task sheet","fromName":"David Brown","fromEmail":"git@davidb.org","sentAt":"2007-11-22T19:25:56Z","receivedAt":"2007-11-22T19:25:56Z","isPatch":false,"sender":{"key":"git@davidb.org","avatar":"https://gravatar.com/avatar/94c86a2938470a74c2eac5e2b69afc0871f79a660295c02219597aba8cb101c1?d=mp&s=160"},"body":"On Thu, Nov 22, 2007 at 01:21:55AM -0800, Junio C Hamano wrote:\n\n>That is the reason why git commit leaves the first line empty in\n>its initial template.  It is to allow the user to immediately\n>start typing.\n\nUnless of course your editor tries to be \"helpful\" and remember what line\nyou were on previously in a file.\n\nDavid\n"},{"id":"60716","messageId":"Pine.LNX.4.64.0711222211020.27959@racer.site","threadId":"10975","inReplyTo":"20071122192556.GA14662@old.davidb.org","subject":"Re: Reordering lines in \"git-rebase -i\" task sheet","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-22T22:11:43Z","receivedAt":"2007-11-22T22:11:43Z","isPatch":false,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Thu, 22 Nov 2007, David Brown wrote:\n\n> On Thu, Nov 22, 2007 at 01:21:55AM -0800, Junio C Hamano wrote:\n> \n> > That is the reason why git commit leaves the first line empty in its \n> > initial template.  It is to allow the user to immediately start \n> > typing.\n> \n> Unless of course your editor tries to be \"helpful\" and remember what \n> line you were on previously in a file.\n\nIMHO this objection is irrelevant, since these helpful editors do not have \nany preference as to where the help text should be.\n\nHth,\nDscho\n"},{"id":"60740","messageId":"fi64ge$u1g$1@ger.gmane.org","threadId":"10975","inReplyTo":"7vlk8q7hzg.fsf@gitster.siamese.dyndns.org","subject":"Re: Reordering lines in \"git-rebase -i\" task sheet","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-11-23T08:54:38Z","receivedAt":"2007-11-23T08:54:38Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"Junio C Hamano wrote:\n\n> Could we please reorder the lines so that list of initial\n> \"pick\"s come first and have the help comment lines at the very\n> end?\n\nI'm not convinced that this is a great idea.\n\nMostly with git-rebase -i one is reordering the most recent commits, which\nare at the bottom.  Personally, I am often reordering commits that are as\nyet unpushed, so for ease-of-thinking I type\n\n git rebase -i origin/master\n\nagain and again.   Hence the early lines are probably already sorted into a\nnice order and it's commits at the bottom of the list that need a bit of\nmassaging.\n\nAt present it's easy to get to them because a shift-G or ctrl-end, or\n$END_OF_FILE takes you there.   With the above change it's now more steps\nto move to the interesting part.\n\nNow if you were suggesting flipping the sort direction at the same time, I\ncould get on board - but that is perhaps one confusing step too far.\n\n> That is the reason why git commit leaves the first line empty in\n> its initial template.  It is to allow the user to immediately\n> start typing.\n\nThat's different, for a commit message, the first line is exactly where one\nwould want to be.\n\nNot a strong objection.\n\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"60932","messageId":"fiegqq$kq5$1@ger.gmane.org","threadId":"10975","inReplyTo":"fi64ge$u1g$1@ger.gmane.org","subject":"Re: Reordering lines in \"git-rebase -i\" task sheet","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2007-11-26T13:14:02Z","receivedAt":"2007-11-26T13:14:02Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"Andy Parkins wrote:\n\n> I'm not convinced that this is a great idea.\n\nI've just tried it and (for me) I don't like it.\n\n - It's now harder to find the commits I want to edit, the cursor still\n   doesn't start in the right place, but now I can't get to the right place\n   quickly (the right place being the bottom of the list) because the\n   interesting bits are neither at the top nor at the bottom\n - vim no longer automatically loads a reasonable syntax highlighting mode\n   making the comment lines appear the same as the pick lines.\n - On a long rebase list the important message explaining what I'm looking\n   at isn't on screen.\n\n\n\nAndy\n-- \nDr Andy Parkins, M Eng (hons), MIET\nandyparkins@gmail.com\n"},{"id":"61338","messageId":"7v7ik129d4.fsf@gitster.siamese.dyndns.org","threadId":"10975","inReplyTo":"Pine.LNX.4.64.0711221117590.27959@racer.site","subject":"Re: [PATCH] rebase -i: give rerere a chance","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-29T00:17:27Z","receivedAt":"2007-11-29T00:17:27Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> @@ -166,13 +167,13 @@ pick_one_preserving_merges () {\n>  \t\t\tmsg=\"$(git cat-file commit $sha1 | sed -e '1,/^$/d')\"\n>  \t\t\t# No point in merging the first parent, that's HEAD\n>  \t\t\tnew_parents=${new_parents# $first_parent}\n> -\t\t\t# NEEDSWORK: give rerere a chance\n>  \t\t\tif ! GIT_AUTHOR_NAME=\"$GIT_AUTHOR_NAME\" \\\n>  \t\t\t\tGIT_AUTHOR_EMAIL=\"$GIT_AUTHOR_EMAIL\" \\\n>  \t\t\t\tGIT_AUTHOR_DATE=\"$GIT_AUTHOR_DATE\" \\\n>  \t\t\t\toutput git merge $STRATEGY -m \"$msg\" \\\n>  \t\t\t\t\t$new_parents\n>  \t\t\tthen\n> +\t\t\t\tgit rerere\n\nThis comment is not about this rerere change, but output is a shell\nfunction and I vaguely recall we had a discussion on \"VAR=VAL cmd\" form\nof single-shot export not working for them as expected...\n"},{"id":"61339","messageId":"Pine.LNX.4.64.0711290021280.27959@racer.site","threadId":"10975","inReplyTo":"7v7ik129d4.fsf@gitster.siamese.dyndns.org","subject":"Re: [PATCH] rebase -i: give rerere a chance","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2007-11-29T00:22:34Z","receivedAt":"2007-11-29T00:22:34Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi,\n\nOn Wed, 28 Nov 2007, Junio C Hamano wrote:\n\n> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n> \n> > @@ -166,13 +167,13 @@ pick_one_preserving_merges () {\n> >  \t\t\tmsg=\"$(git cat-file commit $sha1 | sed -e '1,/^$/d')\"\n> >  \t\t\t# No point in merging the first parent, that's HEAD\n> >  \t\t\tnew_parents=${new_parents# $first_parent}\n> > -\t\t\t# NEEDSWORK: give rerere a chance\n> >  \t\t\tif ! GIT_AUTHOR_NAME=\"$GIT_AUTHOR_NAME\" \\\n> >  \t\t\t\tGIT_AUTHOR_EMAIL=\"$GIT_AUTHOR_EMAIL\" \\\n> >  \t\t\t\tGIT_AUTHOR_DATE=\"$GIT_AUTHOR_DATE\" \\\n> >  \t\t\t\toutput git merge $STRATEGY -m \"$msg\" \\\n> >  \t\t\t\t\t$new_parents\n> >  \t\t\tthen\n> > +\t\t\t\tgit rerere\n> \n> This comment is not about this rerere change, but output is a shell\n> function and I vaguely recall we had a discussion on \"VAR=VAL cmd\" form\n> of single-shot export not working for them as expected...\n\nHmm.  What do you propose?  In the long run, I _want_ to have rebase as a \nbuiltin, which would solve this problem, probably.  But in the short run?\n\nCiao,\nDscho\n"},{"id":"61384","messageId":"85y7ch5q4v.fsf@lola.goethe.zz","threadId":"10975","inReplyTo":"Pine.LNX.4.64.0711290021280.27959@racer.site","subject":"Re: [PATCH] rebase -i: give rerere a chance","fromName":"David Kastrup","fromEmail":"dak@gnu.org","sentAt":"2007-11-29T09:59:12Z","receivedAt":"2007-11-29T09:59:12Z","isPatch":true,"sender":{"key":"dak@gnu.org","avatar":"https://avatars.githubusercontent.com/u/52141349?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi,\n>\n> On Wed, 28 Nov 2007, Junio C Hamano wrote:\n>\n>> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n>> \n>> > @@ -166,13 +167,13 @@ pick_one_preserving_merges () {\n>> >  \t\t\tmsg=\"$(git cat-file commit $sha1 | sed -e '1,/^$/d')\"\n>> >  \t\t\t# No point in merging the first parent, that's HEAD\n>> >  \t\t\tnew_parents=${new_parents# $first_parent}\n>> > -\t\t\t# NEEDSWORK: give rerere a chance\n>> >  \t\t\tif ! GIT_AUTHOR_NAME=\"$GIT_AUTHOR_NAME\" \\\n>> >  \t\t\t\tGIT_AUTHOR_EMAIL=\"$GIT_AUTHOR_EMAIL\" \\\n>> >  \t\t\t\tGIT_AUTHOR_DATE=\"$GIT_AUTHOR_DATE\" \\\n>> >  \t\t\t\toutput git merge $STRATEGY -m \"$msg\" \\\n>> >  \t\t\t\t\t$new_parents\n>> >  \t\t\tthen\n>> > +\t\t\t\tgit rerere\n>> \n>> This comment is not about this rerere change, but output is a shell\n>> function and I vaguely recall we had a discussion on \"VAR=VAL cmd\" form\n>> of single-shot export not working for them as expected...\n>\n> Hmm.  What do you propose?  In the long run, I _want_ to have rebase as a \n> builtin, which would solve this problem, probably.  But in the short run?\n\nWell, something like\n\nif ! ( GIT_xxx=A; export GIT_xxx; output git merge ... )\n\nshould likely work.\n\n-- \nDavid Kastrup, Kriemhildstr. 15, 44793 Bochum\n"}]}