@@ -146,6 +146,12 @@ is_interactive () { is_interactive"$@"&&execgit-rebase--interactive"$@"+iftest$#-eq0+then+test-d"$dotest"-o-d"$GIT_DIR"/rebase-apply||usage+die'A rebase is in progress, try --continue, --skip or --abort.'+fi+whiletest$#!=0docase"$1"in
From: Stephan Beyer <hidden> Date: 2016-06-15 22:45:10
"git rebase" without arguments on initial startup showed:
fatal: Needed a single revision
invalid upstream
This patch makes it show the ordinary usage string.
If .git/rebase-apply exists, this patch tries to make the error message
slightly more exact:
- if .git/rebase-apply/applying exists, the error message supposes that
we are in the middle of git-am
- if .git/rebase-apply/rebasing exists, it is perhaps another rebase.
Signed-off-by: Stephan Beyer <redacted>
---
Hi,
Junio C Hamano wrote:
> Stephan Beyer [off-list ref] writes:
>~
> > ^...Stumbled across this today and looks for me like
> > ^...a patch for 1.6.0 :-)
>~
> Is presense of "$dotest" or "$GIT_DIR/rebase-apply" a _sure sign_ that
> allows you to say "A rebase is in progress" with confidence?
Currently this is a sure sign that either a git-rebase or a git-am is
in progress.
I considered the existence of .git/rebase-apply/applying and
.git/rebase-apply/rebasing as a good way to determine which one it is
if .git/rebase-apply exists.
Also there already are two error messages that could be used, so I
use them and are only a little more exact.
Regards,
Stephan
git-rebase.sh | 23 ++++++++++++++++-------
1 files changed, 16 insertions(+), 7 deletions(-)
@@ -146,6 +146,10 @@ is_interactive () { is_interactive"$@"&&execgit-rebase--interactive"$@"+# If no arguments are given and there is no git-am/git-rebase in+# progress, print the usage string and die.+test$#-ne0-o-d"$dotest"-o-d"$GIT_DIR"/rebase-apply||usage+whiletest$#!=0docase"$1"in
@@ -265,19 +269,24 @@ doshiftdone-# Make sure we do not have $GIT_DIR/rebase-apply+# Make sure we do not have $GIT_DIR/rebase-apply nor $dotestiftest-z"$do_merge"then-ifmkdir"$GIT_DIR"/rebase-apply+ifmkdir"$GIT_DIR"/rebase-apply2>/dev/nullthenrmdir"$GIT_DIR"/rebase-applyelse+what='a patch application or another rebase.'+test-f"$GIT_DIR"/rebase-apply/applying&&+what='a patch application (git-am).'+test-f"$GIT_DIR"/rebase-apply/rebasing&&+what='another rebase.'echo>&2'-ItseemsthatIcannotcreatea'"$GIT_DIR"'/rebase-applydirectory,-andIwonderifyouareinthemiddleofpatchapplicationoranother-rebase.Ifthatisnotthecase,please+ItseemsthatIcannotcreatearebase-applydirectory,andIwonder+ifyouareinthemiddleof'"$what"'+Ifthatisnotthecase,pleaserm-fr'"$GIT_DIR"'/rebase-apply-andrunmeagain.Iamstoppingincaseyoustillhavesomething+andrunmeagain.Iamstoppingincaseyoustillhavesomething valuablethere.'exit1fi
From: Stephan Beyer <hidden> Date: 2016-06-15 22:45:10
Hi,
Stephan Beyer wrote:
quoted hunk
@@ -285,7 +294,7 @@ else if test -d "$dotest" then die "previous rebase directory $dotest still exists." \- 'try git-rebase < --continue | --abort >'+ 'Try git-rebase (--continue | --abort | --skip)'
^^
This should perhaps be dashless. :\
And when "git rebase -m" has been invoked, a conflict occurs and the
user is typing "git rebase", then
fatal: Needed a single revision
invalid upstream
shows up again. So the patch does not affect all cases... :|
Regards
--
Stephan Beyer [off-list ref], PGP 0x6EDDD207FCC5040F
From: Stephan Beyer <hidden> Date: 2016-06-15 22:45:10
"git rebase" without arguments on initial startup showed:
fatal: Needed a single revision
invalid upstream
This patch makes it show the ordinary usage string.
If .git/rebase-merge or .git/rebase-apply/rebasing exists, git-rebase
will die with a message saying that a rebase is in progress and the user
should try --skip/--abort/--continue.
If .git/rebase-apply/applying exists, git-rebase will die with a message
saying that git-am is in progress, regardless how many arguments are
given.
If no arguments are given and .git/rebase-apply/ exists, but neither a
rebasing nor applying file is in that directory, git-rebase dies with a
message saying that rebase-apply exists and no arguments were given.
Signed-off-by: Stephan Beyer <redacted>
---
I've stashed away *these* changes before I made up the try2 patch.
I tested several cases and I think it is ok.
Sorry for all the noise.
Regards
git-rebase.sh | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
@@ -144,8 +144,19 @@ is_interactive () {done&&test-n"$1"}+test-f"$GIT_DIR"/rebase-apply/applying&&+die'It looks like git-am is in progress. Cannot rebase.'+ is_interactive"$@"&&execgit-rebase--interactive"$@"+iftest$#-eq0+then+test-d"$dotest"-o-d"$GIT_DIR"/rebase-apply||usage+test-d"$dotest"-o-f"$GIT_DIR"/rebase-apply/rebasing&&+die'A rebase is in progress, try --continue, --skip or --abort.'+die"No arguments given and $GIT_DIR/rebase-apply already exists."+fi+whiletest$#!=0docase"$1"in
@@ -268,16 +279,16 @@ done# Make sure we do not have $GIT_DIR/rebase-applyiftest-z"$do_merge"then-ifmkdir"$GIT_DIR"/rebase-apply+ifmkdir"$GIT_DIR"/rebase-apply2>/dev/nullthenrmdir"$GIT_DIR"/rebase-applyelseecho>&2'-ItseemsthatIcannotcreatea'"$GIT_DIR"'/rebase-applydirectory,-andIwonderifyouareinthemiddleofpatchapplicationoranother+ItseemsthatIcannotcreatearebase-applydirectory,and+Iwonderifyouareinthemiddleofpatchapplicationoranother rebase.Ifthatisnotthecase,pleaserm-fr'"$GIT_DIR"'/rebase-apply-andrunmeagain.Iamstoppingincaseyoustillhavesomething+andrunmeagain.Iamstoppingincaseyoustillhavesomething valuablethere.'exit1fi
@@ -285,7 +296,7 @@ elseiftest-d"$dotest"thendie"previous rebase directory $dotest still exists."\-'try git-rebase < --continue | --abort >'+'Try git rebase (--continue | --abort | --skip)'fifi