{"thread":{"id":"43165","subject":"[RFC/PATCH 0/5] WIP status/rerere reporting","startedAt":"2006-12-05T09:21:26Z","lastAt":"2006-12-08T20:04:27Z","messageCount":10,"participants":["Eric Wong","Junio C Hamano","Jakub Narebski"],"isPatch":true,"patchVersion":1,"patchTotal":5},"messages":[{"id":"298082","messageId":"20061205092126.GE27236@soma","threadId":"43165","inReplyTo":"20061205072622.GA21839@coredump.intra.peff.net","subject":"Re: [PATCH] git-explain","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-05T09:21:26Z","receivedAt":"2006-12-05T09:21:26Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Jeff King <peff@peff.net> wrote:\n> On Mon, Dec 04, 2006 at 10:09:17PM -0800, Junio C Hamano wrote:\n> \n> > Should I take these responses to mean that you two are negative\n> > about the approach of spending extra cycles to commands that can\n> > leave the working tree in a \"in the middle of doing something\"\n> > state to help having a unified command to explain what the\n> > situation is and suggest the user possible exits, or are you\n> > saying that it might be a good idea but \"git explain\" is a bad\n> > name?\n> \n> It seems like the point of this command is to show some state\n> information which would otherwise be hard to see. I think of 'git\n> status' as the way to look at the repository state. Perhaps we should\n> enhance the output of 'git status' to note things such as failed merges,\n> whether we're bisecting, in the middle of applying a patch series, etc.\n> There could be an optional verbosity switch to give \"full explanations\"\n> including recommended ways to deal with the situation.\n\nI wholeheartedly agree that 'git status' should show something like\nthis.  I actually had some stuff that was a work-in-progress several\nmonths ago that enhanced status with several things like this; but got\ndistracted and forgot about that repository.  I'll try to dig it out\nsometime tomorrow.  I remember my work started from wanting to know\nwhat 'git-rerere' would be recording.\n\n-- \n"},{"id":"293955","messageId":"1165574970740-git-send-email-normalperson@yhbt.net","threadId":"43165","inReplyTo":"20061205092126.GE27236@soma","subject":"[RFC/PATCH 0/5] WIP status/rerere reporting","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T10:49:25Z","receivedAt":"2006-12-08T10:49:25Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"\nThis is the stuff I mentioned I had been working on several months\nbefore in a reply to the git-explain/git-wtf/git-whatsup thread.\n\nI've rebased it against the current master and everything still seems\nto work (I don't have unit tests for them).\n\nThis has been forgotten and abandoned for a while.  I especially don't\nexpect the changes to git-commit.sh (status) to be applied as-is, as it\nshould go into the new runstatus (my work predates runstatus).\n\n git-am.sh       |   18 ++++++++++++++----\n git-commit.sh   |   45 ++++++++++++++++++++++++++++++++++++++++++++-\n git-rebase.sh   |   43 ++++++++++++++++++++++++++++++-------------\n git-rerere.perl |   25 +++++++++++++++++++++++++\n 4 files changed, 113 insertions(+), 18 deletions(-)\n\n[PATCH 1/5] rerere: avoid misrecording on a skipped or aborted rebase/am\n[PATCH 2/5] status: show files that would have resolutions recorded by rerere\n[PATCH 3/5] am and rebase resolve states get picked up by status/commit\n[PATCH 4/5] am: run git rerere to record resolution on successful --resolved\n[PATCH 5/5] rerere: add the diff command\n\n-- \n"},{"id":"294055","messageId":"11655749724034-git-send-email-normalperson@yhbt.net","threadId":"43165","inReplyTo":"20061205092126.GE27236@soma","subject":"[PATCH 1/5] rerere: avoid misrecording on a skipped or aborted rebase/am","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T10:49:26Z","receivedAt":"2006-12-08T10:49:26Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Data in rr-cache isn't valid after a patch application is\nskipped or and aborted, so our next commit could be misrecorded\nas a resolution of that skipped/failed commit, which is wrong.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\n---\n git-am.sh       |    4 ++++\n git-rebase.sh   |    8 ++++++++\n git-rerere.perl |   12 ++++++++++++\n 3 files changed, 24 insertions(+), 0 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex afe322b..28ccae3 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -246,6 +246,10 @@ last=`cat \"$dotest/last\"`\n this=`cat \"$dotest/next\"`\n if test \"$skip\" = t\n then\n+\tif test -d \"$GIT_DIR/rr-cache\"\n+\tthen\n+\t\tgit-rerere clear\n+\tfi\n \tthis=`expr \"$this\" + 1`\n \tresume=\n fi\ndiff --git a/git-rebase.sh b/git-rebase.sh\nindex 25530df..2b4f347 100755\n--- a/git-rebase.sh\n+++ b/git-rebase.sh\n@@ -139,6 +139,10 @@ do\n \t--skip)\n \t\tif test -d \"$dotest\"\n \t\tthen\n+\t\t\tif test -d \"$GIT_DIR/rr-cache\"\n+\t\t\tthen\n+\t\t\t\tgit-rerere clear\n+\t\t\tfi\n \t\t\tprev_head=\"`cat $dotest/prev_head`\"\n \t\t\tend=\"`cat $dotest/end`\"\n \t\t\tmsgnum=\"`cat $dotest/msgnum`\"\n@@ -157,6 +161,10 @@ do\n \t\texit\n \t\t;;\n \t--abort)\n+\t\tif test -d \"$GIT_DIR/rr-cache\"\n+\t\tthen\n+\t\t\tgit-rerere clear\n+\t\tfi\n \t\tif test -d \"$dotest\"\n \t\tthen\n \t\t\trm -r \"$dotest\"\ndiff --git a/git-rerere.perl b/git-rerere.perl\nindex d3664ff..dd86577 100755\n--- a/git-rerere.perl\n+++ b/git-rerere.perl\n@@ -172,6 +172,18 @@ sub merge {\n -d \"$rr_dir\" || exit(0);\n \n read_rr();\n+\n+if (@ARGV && $ARGV[0] eq 'clear') {\n+\tfor my $path (keys %merge_rr) {\n+\t\tmy $name = $merge_rr{$path};\n+\t\tif (-d \"$rr_dir/$name\") {\n+\t\t\trmtree([\"$rr_dir/$name\"]);\n+\t\t}\n+\t}\n+\tunlink $merge_rr;\n+\texit 0;\n+}\n+\n my %conflict = map { $_ => 1 } find_conflict();\n \n # MERGE_RR records paths with conflicts immediately after merge\n-- \n1.4.4.2.g860f4\n"},{"id":"295099","messageId":"11655749732181-git-send-email-normalperson@yhbt.net","threadId":"43165","inReplyTo":"20061205092126.GE27236@soma","subject":"[PATCH 2/5] status: show files that would have resolutions recorded by rerere","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T10:49:27Z","receivedAt":"2006-12-08T10:49:27Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Signed-off-by: Eric Wong <normalperson@yhbt.net>\n---\n git-commit.sh   |   17 ++++++++++++++++-\n git-rerere.perl |   18 ++++++++++++------\n 2 files changed, 28 insertions(+), 7 deletions(-)\n\ndiff --git a/git-commit.sh b/git-commit.sh\nindex 81c3a0c..9f6d1ef 100755\n--- a/git-commit.sh\n+++ b/git-commit.sh\n@@ -48,7 +48,22 @@ run_status () {\n \t\tGIT_INDEX_FILE=\"$NEXT_INDEX\"\n \t\texport GIT_INDEX_FILE\n \tfi\n-\n+\tif test -d \"$GIT_DIR/rr-cache\"\n+\tthen\n+\t    rr_shown=\n+\t    git-rerere status | while read line; do\n+\t\tif [ -z \"$rr_shown\" ]; then\n+\t\t    echo '#'\n+\t\t    echo '# Resolutions to be recorded for files:'\n+\t\t    echo '#   (git-rerere will automatically record' \\\n+\t\t\t 'conflict resolutions'\n+\t\t    echo '#    when these files are committed)'\n+\t\t    echo '#'\n+\t\t    rr_shown=1\n+\t\tfi\n+\t\techo  \"#\t$line\"\n+\t    done\n+\tfi\n \tcase \"$status_only\" in\n \tt) color= ;;\n \t*) color=--nocolor ;;\ndiff --git a/git-rerere.perl b/git-rerere.perl\nindex dd86577..b78194a 100755\n--- a/git-rerere.perl\n+++ b/git-rerere.perl\n@@ -173,14 +173,20 @@ sub merge {\n \n read_rr();\n \n-if (@ARGV && $ARGV[0] eq 'clear') {\n-\tfor my $path (keys %merge_rr) {\n-\t\tmy $name = $merge_rr{$path};\n-\t\tif (-d \"$rr_dir/$name\") {\n-\t\t\trmtree([\"$rr_dir/$name\"]);\n+if (my $arg = shift @ARGV) {\n+\tif ($arg eq 'clear') {\n+\t\tfor my $path (keys %merge_rr) {\n+\t\t\tmy $name = $merge_rr{$path};\n+\t\t\tif (-d \"$rr_dir/$name\") {\n+\t\t\t\trmtree([\"$rr_dir/$name\"]);\n+\t\t\t}\n+\t\t}\n+\t\tunlink $merge_rr;\n+\t} elsif ($arg eq 'status') {\n+\t\tfor my $path (keys %merge_rr) {\n+\t\t\tprint $path, \"\\n\";\n \t\t}\n \t}\n-\tunlink $merge_rr;\n \texit 0;\n }\n \n-- \n1.4.4.2.g860f4\n"},{"id":"297801","messageId":"11655749741136-git-send-email-normalperson@yhbt.net","threadId":"43165","inReplyTo":"20061205092126.GE27236@soma","subject":"[PATCH 3/5] am and rebase resolve states get picked up by status/commit","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T10:49:28Z","receivedAt":"2006-12-08T10:49:28Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"This should help warn of accidental commits in the middle of a\nrebase operation.  It also saves messages in $dotest/resolvemsg\nand shows it in \"git status\" so the user can be reminded of\nhow to continue the am or rebase operation.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\n---\n git-am.sh     |   10 ++++++----\n git-commit.sh |   28 ++++++++++++++++++++++++++++\n git-rebase.sh |   35 ++++++++++++++++++++++-------------\n 3 files changed, 56 insertions(+), 17 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 28ccae3..179b967 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -16,7 +16,7 @@ stop_here () {\n \n stop_here_user_resolve () {\n     if [ -n \"$resolvemsg\" ]; then\n-\t    echo \"$resolvemsg\"\n+\t    echo \"$resolvemsg\" | tee \"$dotest/resolvemsg\"\n \t    stop_here $1\n     fi\n     cmdline=$(basename $0)\n@@ -32,9 +32,11 @@ stop_here_user_resolve () {\n     then\n         cmdline=\"$cmdline -d=$dotest\"\n     fi\n-    echo \"When you have resolved this problem run \\\"$cmdline --resolved\\\".\"\n-    echo \"If you would prefer to skip this patch, instead run \\\"$cmdline --skip\\\".\"\n-\n+    cat > \"$dotest/resolvemsg\" <<EOF\n+When you have resolved this problem run \\\"$cmdline --resolved\\\".\n+If you would prefer to skip this patch, instead run \\\"$cmdline --skip\\\".\n+EOF\n+    cat \"$dotest/resolvemsg\"\n     stop_here $1\n }\n \ndiff --git a/git-commit.sh b/git-commit.sh\nindex 9f6d1ef..4691835 100755\n--- a/git-commit.sh\n+++ b/git-commit.sh\n@@ -32,6 +32,33 @@ save_index () {\n \tcp -p \"$THIS_INDEX\" \"$NEXT_INDEX\"\n }\n \n+check_dotest () {\n+\tif test -d .dotest\n+\tthen\n+\t\techo ''\n+\t\tif test -f .dotest/resolvemsg\n+\t\tthen\n+\t\t\tcat .dotest/resolvemsg\n+\t\telse\n+\t\t\techo 'A .dotest directory exists.'\n+\t\t\techo 'Either a \"git rebase\" or \"git am\"' \\\n+\t\t\t\t\t'operation is in progress'\n+\t\tfi\n+\tfi\n+\tif test -d \"$GIT_DIR/.dotest-merge\"\n+\tthen\n+\t\techo ''\n+\t\tif test -f \"$GIT_DIR/.dotest-merge/resolvemsg\"\n+\t\tthen\n+\t\t\tcat \"$GIT_DIR/.dotest-merge/resolvemsg\"\n+\t\telse\n+\t\t\techo \"A $GIT_DIR/.dotest-merge/resolvemsg \" \\\n+\t\t\t\t'directory exists.'\n+\t\t\techo 'A \"git rebase --merge\" operation is in progress'\n+\t\tfi\n+\tfi\n+}\n+\n run_status () {\n \t# If TMP_INDEX is defined, that means we are doing\n \t# \"--only\" partial commit, and that index file is used\n@@ -64,6 +91,7 @@ run_status () {\n \t\techo  \"#\t$line\"\n \t    done\n \tfi\n+\tcheck_dotest | sed -e 's/^/# /'\n \tcase \"$status_only\" in\n \tt) color= ;;\n \t*) color=--nocolor ;;\ndiff --git a/git-rebase.sh b/git-rebase.sh\nindex 2b4f347..53f3919 100755\n--- a/git-rebase.sh\n+++ b/git-rebase.sh\n@@ -41,6 +41,16 @@ dotest=$GIT_DIR/.dotest-merge\n prec=4\n verbose=\n \n+die_msg () {\n+\t> \"$dotest/resolvemsg\"\n+\tfor i in \"$@\"\n+\tdo\n+\t\techo \"$i\" | tee -a \"$dotest/resolvemsg\" >&2\n+\tdone\n+\techo \"$RESOLVEMSG\" >> \"$dotest/resolvemsg\"\n+\tdie \"$RESOLVEMSG\"\n+}\n+\n continue_merge () {\n \ttest -n \"$prev_head\" || die \"prev_head must be defined\"\n \ttest -d \"$dotest\" || die \"$dotest directory does not exist\"\n@@ -48,18 +58,17 @@ continue_merge () {\n \tunmerged=$(git-ls-files -u)\n \tif test -n \"$unmerged\"\n \tthen\n-\t\techo \"You still have unmerged paths in your index\"\n-\t\techo \"did you forget update-index?\"\n-\t\tdie \"$RESOLVEMSG\"\n+\t\tdie_msg \"You still have unmerged paths in your index\" \\\n+\t\t\t\t\"did you forget update-index?\"\n \tfi\n \n \tif test -n \"`git-diff-index HEAD`\"\n \tthen\n \t\tif ! git-commit -C \"`cat $dotest/current`\"\n \t\tthen\n-\t\t\techo \"Commit failed, please do not call \\\"git commit\\\"\"\n-\t\t\techo \"directly, but instead do one of the following: \"\n-\t\t\tdie \"$RESOLVEMSG\"\n+\t\t\tdie_msg \\\n+\t\t\t\"Commit failed, please do not call \\\"git commit\\\"\" \\\n+\t\t\t\"directly, but instead do one of the following: \"\n \t\tfi\n \t\tprintf \"Committed: %0${prec}d\" $msgnum\n \telse\n@@ -73,6 +82,7 @@ continue_merge () {\n \techo \"$prev_head\" > \"$dotest/prev_head\"\n \n \t# onto the next patch:\n+\trm -f \"$dotest/resolvemsg\"\n \tmsgnum=$(($msgnum + 1))\n \techo \"$msgnum\" >\"$dotest/msgnum\"\n }\n@@ -88,14 +98,13 @@ call_merge () {\n \t\t;;\n \t1)\n \t\ttest -d \"$GIT_DIR/rr-cache\" && git-rerere\n-\t\tdie \"$RESOLVEMSG\"\n+\t\tdie_msg\n \t\t;;\n \t2)\n-\t\techo \"Strategy: $rv $strategy failed, try another\" 1>&2\n-\t\tdie \"$RESOLVEMSG\"\n+\t\tdie_msg \"Strategy: $rv $strategy failed, try another\"\n \t\t;;\n \t*)\n-\t\tdie \"Unknown exit code ($rv) from command:\" \\\n+\t\tdie_msg \"Unknown exit code ($rv) from command:\" \\\n \t\t\t\"git-merge-$strategy $cmt^ -- HEAD $cmt\"\n \t\t;;\n \tesac\n@@ -112,9 +121,8 @@ do\n \t--continue)\n \t\tdiff=$(git-diff-files)\n \t\tcase \"$diff\" in\n-\t\t?*)\techo \"You must edit all merge conflicts and then\"\n-\t\t\techo \"mark them as resolved using git update-index\"\n-\t\t\texit 1\n+\t\t?*)\tdie_msg \"You must edit all merge conflicts and then\" \\\n+\t\t\t\t\"mark them as resolved using git update-index\"\n \t\t\t;;\n \t\tesac\n \t\tif test -d \"$dotest\"\n@@ -143,6 +151,7 @@ do\n \t\t\tthen\n \t\t\t\tgit-rerere clear\n \t\t\tfi\n+\t\t\trm -f \"$dotest/resolvemsg\"\n \t\t\tprev_head=\"`cat $dotest/prev_head`\"\n \t\t\tend=\"`cat $dotest/end`\"\n \t\t\tmsgnum=\"`cat $dotest/msgnum`\"\n-- \n1.4.4.2.g860f4\n"},{"id":"295656","messageId":"11655749761154-git-send-email-normalperson@yhbt.net","threadId":"43165","inReplyTo":"20061205092126.GE27236@soma","subject":"[PATCH 4/5] am: run git rerere to record resolution on successful --resolved","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T10:49:29Z","receivedAt":"2006-12-08T10:49:29Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Signed-off-by: Eric Wong <normalperson@yhbt.net>\n---\n git-am.sh |    4 ++++\n 1 files changed, 4 insertions(+), 0 deletions(-)\n\ndiff --git a/git-am.sh b/git-am.sh\nindex 179b967..d0714c6 100755\n--- a/git-am.sh\n+++ b/git-am.sh\n@@ -414,6 +414,10 @@ do\n \t\t\tstop_here_user_resolve $this\n \t\tfi\n \t\tapply_status=0\n+\t\tif test -d \"$GIT_DIR/rr-cache\"\n+\t\tthen\n+\t\t\tgit rerere\n+\t\tfi\n \t\t;;\n \tesac\n \n-- \n1.4.4.2.g860f4\n"},{"id":"297964","messageId":"1165574977365-git-send-email-normalperson@yhbt.net","threadId":"43165","inReplyTo":"20061205092126.GE27236@soma","subject":"[PATCH 5/5] rerere: add the diff command","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T10:49:30Z","receivedAt":"2006-12-08T10:49:30Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Sometimes I like to see what I'm recording resolutions for and\nwhat's changed during a resolution.\n\nSigned-off-by: Eric Wong <normalperson@yhbt.net>\n---\n git-rerere.perl |    7 +++++++\n 1 files changed, 7 insertions(+), 0 deletions(-)\n\ndiff --git a/git-rerere.perl b/git-rerere.perl\nindex b78194a..7a3ae84 100755\n--- a/git-rerere.perl\n+++ b/git-rerere.perl\n@@ -186,6 +186,13 @@ if (my $arg = shift @ARGV) {\n \t\tfor my $path (keys %merge_rr) {\n \t\t\tprint $path, \"\\n\";\n \t\t}\n+\t} elsif ($arg eq 'diff') {\n+\t\tfor my $path (keys %merge_rr) {\n+\t\t\tmy $name = $merge_rr{$path};\n+\t\t\tsystem(qw/diff/, @ARGV,\n+\t\t\t\t'-L', \"a/$path\", '-L', \"b/$path\",\n+\t\t\t\t\"$rr_dir/$name/preimage\", $path);\n+\t\t}\n \t}\n \texit 0;\n }\n-- \n1.4.4.2.g860f4\n"},{"id":"295465","messageId":"elbkdl$og4$2@sea.gmane.org","threadId":"43165","inReplyTo":"1165574977365-git-send-email-normalperson@yhbt.net","subject":"Re: [PATCH 5/5] rerere: add the diff command","fromName":"Jakub Narebski","fromEmail":"jnareb@gmail.com","sentAt":"2006-12-08T12:07:26Z","receivedAt":"2006-12-08T12:07:26Z","isPatch":true,"sender":{"key":"jnareb@gmail.com","avatar":"https://avatars.githubusercontent.com/u/2706?v=4"},"body":"Eric Wong wrote:\n\n> Sometimes I like to see what I'm recording resolutions for and\n> what's changed during a resolution.\n> \n> Signed-off-by: Eric Wong <normalperson@yhbt.net>\n> ---\n>  git-rerere.perl |    7 +++++++\n>  1 files changed, 7 insertions(+), 0 deletions(-)\n\nDocumentation, please?\n-- \nJakub Narebski\nWarsaw, Poland\nShadeHawk on #git\n\n"},{"id":"294600","messageId":"7vbqmei3nx.fsf@assigned-by-dhcp.cox.net","threadId":"43165","inReplyTo":"11655749724034-git-send-email-normalperson@yhbt.net","subject":"Re: [PATCH 1/5] rerere: avoid misrecording on a skipped or aborted rebase/am","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-12-08T19:33:06Z","receivedAt":"2006-12-08T19:33:06Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"This is good, but Documentation/git-rerere.txt should talk about\nthis new option you added.\n\n"},{"id":"296987","messageId":"20061208200427.GA17602@soma","threadId":"43165","inReplyTo":"7vbqmei3nx.fsf@assigned-by-dhcp.cox.net","subject":"[PATCH 6/5] git-rerere: document the 'clear' and 'diff' commands","fromName":"Eric Wong","fromEmail":"normalperson@yhbt.net","sentAt":"2006-12-08T20:04:27Z","receivedAt":"2006-12-08T20:04:27Z","isPatch":true,"sender":{"key":"e@80x24.org","avatar":null},"body":"Signed-off-by: Eric Wong <normalperson@yhbt.net>\n---\n Documentation/git-rerere.txt |   22 ++++++++++++++++++++--\n 1 files changed, 20 insertions(+), 2 deletions(-)\n\ndiff --git a/Documentation/git-rerere.txt b/Documentation/git-rerere.txt\nindex 8b6b651..de65cce 100644\n--- a/Documentation/git-rerere.txt\n+++ b/Documentation/git-rerere.txt\n@@ -7,8 +7,7 @@ git-rerere - Reuse recorded resolve\n \n SYNOPSIS\n --------\n-'git-rerere'\n-\n+'git-rerere' [clear|diff]\n \n DESCRIPTION\n -----------\n@@ -167,6 +166,25 @@ would conflict the same way the test merge you resolved earlier.\n `git-rerere` is run by `git rebase` to help you resolve this\n conflict.\n \n+COMMANDS\n+--------\n+\n+Normally, git-rerere is run without arguments or user-intervention.\n+However, it has several commands that allow it to interact with\n+its working state.\n+\n+'clear'::\n+\n+This resets the metadata used by rerere if a merge resolution is to be\n+is aborted.  Calling gitlink:git-am[1] --skip or gitlink:git-rebase[1]\n+[--skip|--abort] will automatcally invoke this command.\n+\n+'diff'::\n+\n+This displays diffs for the current state of the resolution.  It is\n+useful for tracking what has changed while the user is resolving\n+conflicts.  Additional arguments are passed directly to the system\n+diff(1) command installed in PATH.\n \n Author\n ------\n-- \n1.4.4.2.g860f4\n"}]}