# [PATCH] rebase -i: improve advice on bad instruction lines

7 messages from 2016-09-06 to 2016-09-09. Participants: Ralf Thielow, Dennis Kaarsemaker, Junio C Hamano, Johannes Schindelin.
Thread: https://gitlist.dev/t/44026

## Ralf Thielow, 2016-09-06 18:08

Subject: [PATCH] rebase -i: improve advice on bad instruction lines
Message-ID: <20160906180838.865-1-ralf.thielow@gmail.com>
URL: https://gitlist.dev/e/20160906180838.865-1-ralf.thielow%40gmail.com

```
If we found bad instruction lines in the instruction sheet
of interactive rebase, we give the user advice on how to
fix it.  However, we don't tell the user what to do afterwards.
Give the user advice to run 'git rebase --continue' after
the fix.

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
---
 git-rebase--interactive.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index b1ba21c..029594e 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1041,7 +1041,7 @@ The possible behaviours are: ignore, warn, error.")"
 		# placed before the commit of the next action
 		checkout_onto
 
-		warn "$(gettext "You can fix this with 'git rebase --edit-todo'.")"
+		warn "$(gettext "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.")"
 		die "$(gettext "Or you can abort the rebase with 'git rebase --abort'.")"
 	fi
 }
-- 
2.10.0.304.gf2ff484


```

## Ralf Thielow, 2016-09-06 18:50

Subject: Re: [PATCH] rebase -i: improve advice on bad instruction lines
Message-ID: <CAN0XMOJofQwsPJvoHLZJ-fT6SudtquatYV=GwpGb6FkF4aXcxg@mail.gmail.com>
URL: https://gitlist.dev/e/CAN0XMOJofQwsPJvoHLZJ-fT6SudtquatYV%3DGwpGb6FkF4aXcxg%40mail.gmail.com
In-Reply-To: <20160906180838.865-1-ralf.thielow@gmail.com>

```
2016-09-06 20:08 GMT+02:00 Ralf Thielow <ralf.thielow@gmail.com>:
> -               warn "$(gettext "You can fix this with 'git rebase --edit-todo'.")"
> +               warn "$(gettext "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.")"
>                 die "$(gettext "Or you can abort the rebase with 'git rebase --abort'.")"

Please don't apply as is. There are some test failures due to the text change.
I'll send an updated version.

```

## Ralf Thielow, 2016-09-06 18:59

Subject: [PATCH v2] rebase -i: improve advice on bad instruction lines
Message-ID: <20160906185918.21286-1-ralf.thielow@gmail.com>
URL: https://gitlist.dev/e/20160906185918.21286-1-ralf.thielow%40gmail.com
In-Reply-To: <20160906180838.865-1-ralf.thielow@gmail.com>

```
If we found bad instruction lines in the instruction sheet
of interactive rebase, we give the user advice on how to
fix it.  However, we don't tell the user what to do afterwards.
Give the user advice to run 'git rebase --continue' after
the fix.

Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
---
Changes in v2:
- adjust tests

 git-rebase--interactive.sh    | 2 +-
 t/t3404-rebase-interactive.sh | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
index b1ba21c..029594e 100644
--- a/git-rebase--interactive.sh
+++ b/git-rebase--interactive.sh
@@ -1041,7 +1041,7 @@ The possible behaviours are: ignore, warn, error.")"
 		# placed before the commit of the next action
 		checkout_onto
 
-		warn "$(gettext "You can fix this with 'git rebase --edit-todo'.")"
+		warn "$(gettext "You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.")"
 		die "$(gettext "Or you can abort the rebase with 'git rebase --abort'.")"
 	fi
 }
diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 597e94e..e38e296 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -1195,7 +1195,7 @@ To avoid this message, use "drop" to explicitly remove a commit.
 Use 'git config rebase.missingCommitsCheck' to change the level of warnings.
 The possible behaviours are: ignore, warn, error.
 
-You can fix this with 'git rebase --edit-todo'.
+You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
 Or you can abort the rebase with 'git rebase --abort'.
 EOF
 
@@ -1219,7 +1219,7 @@ cat >expect <<EOF
 Warning: the command isn't recognized in the following line:
  - badcmd $(git rev-list --oneline -1 master~1)
 
-You can fix this with 'git rebase --edit-todo'.
+You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
 Or you can abort the rebase with 'git rebase --abort'.
 EOF
 
@@ -1254,7 +1254,7 @@ cat >expect <<EOF
 Warning: the SHA-1 is missing or isn't a commit in the following line:
  - edit XXXXXXX False commit
 
-You can fix this with 'git rebase --edit-todo'.
+You can fix this with 'git rebase --edit-todo' and then run 'git rebase --continue'.
 Or you can abort the rebase with 'git rebase --abort'.
 EOF
 
-- 
2.10.0.304.gf2ff484.dirty


```

## Dennis Kaarsemaker, 2016-09-07 09:28

Subject: Re: [PATCH v2] rebase -i: improve advice on bad instruction lines
Message-ID: <1473240491.20551.1.camel@kaarsemaker.net>
URL: https://gitlist.dev/e/1473240491.20551.1.camel%40kaarsemaker.net
In-Reply-To: <20160906185918.21286-1-ralf.thielow@gmail.com>

```
Hi Ralf,

There are quite a few patch series in flight these days around
interactive rebase. Have you checked for conflicts with those?

On di, 2016-09-06 at 20:59 +0200, Ralf Thielow wrote:
> If we found bad instruction lines in the instruction sheet
> of interactive rebase, we give the user advice on how to
> fix it.  However, we don't tell the user what to do afterwards.
> Give the user advice to run 'git rebase --continue' after
> the fix.
> 
> Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
> ---
> Changes in v2:
> - adjust tests
> 
>  git-rebase--interactive.sh    | 2 +-
>  t/t3404-rebase-interactive.sh | 6 +++---
>  2 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh
> index b1ba21c..029594e 100644
> --- a/git-rebase--interactive.sh
> +++ b/git-rebase--interactive.sh
> @@ -1041,7 +1041,7 @@ The possible behaviours are: ignore, warn,
> error.")"
>  		# placed before the commit of the next action
>  		checkout_onto
>  
> -		warn "$(gettext "You can fix this with 'git rebase
> --edit-todo'.")"
> +		warn "$(gettext "You can fix this with 'git rebase
> --edit-todo' and then run 'git rebase --continue'.")"
>  		die "$(gettext "Or you can abort the rebase with
> 'git rebase --abort'.")"
>  	fi
>  }
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-
> interactive.sh
> index 597e94e..e38e296 100755
> --- a/t/t3404-rebase-interactive.sh
> +++ b/t/t3404-rebase-interactive.sh
> @@ -1195,7 +1195,7 @@ To avoid this message, use "drop" to explicitly
> remove a commit.
>  Use 'git config rebase.missingCommitsCheck' to change the level of
> warnings.
>  The possible behaviours are: ignore, warn, error.
>  
> -You can fix this with 'git rebase --edit-todo'.
> +You can fix this with 'git rebase --edit-todo' and then run 'git
> rebase --continue'.
>  Or you can abort the rebase with 'git rebase --abort'.
>  EOF
>  
> @@ -1219,7 +1219,7 @@ cat >expect <<EOF
>  Warning: the command isn't recognized in the following line:
>   - badcmd $(git rev-list --oneline -1 master~1)
>  
> -You can fix this with 'git rebase --edit-todo'.
> +You can fix this with 'git rebase --edit-todo' and then run 'git
> rebase --continue'.
>  Or you can abort the rebase with 'git rebase --abort'.
>  EOF
>  
> @@ -1254,7 +1254,7 @@ cat >expect <<EOF
>  Warning: the SHA-1 is missing or isn't a commit in the following
> line:
>   - edit XXXXXXX False commit
>  
> -You can fix this with 'git rebase --edit-todo'.
> +You can fix this with 'git rebase --edit-todo' and then run 'git
> rebase --continue'.
>  Or you can abort the rebase with 'git rebase --abort'.
>  EOF
>  

```

## Ralf Thielow, 2016-09-07 17:07

Subject: Re: [PATCH v2] rebase -i: improve advice on bad instruction lines
Message-ID: <CAN0XMO+diDLXUrxjNGnUi6oUEwkcGavEX8vyGWy2+Wju-N4WJQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAN0XMO%2BdiDLXUrxjNGnUi6oUEwkcGavEX8vyGWy2%2BWju-N4WJQ%40mail.gmail.com
In-Reply-To: <1473240491.20551.1.camel@kaarsemaker.net>

```
2016-09-07 11:28 GMT+02:00 Dennis Kaarsemaker <dennis@kaarsemaker.net>:
> Hi Ralf,
>
> There are quite a few patch series in flight these days around
> interactive rebase. Have you checked for conflicts with those?
>

Thanks. I did not check against 'pu' when I created this patch but I'm able
to apply without any conflicts.

```

## Junio C Hamano, 2016-09-07 18:58

Subject: Re: [PATCH v2] rebase -i: improve advice on bad instruction lines
Message-ID: <xmqqr38vleps.fsf@gitster.mtv.corp.google.com>
URL: https://gitlist.dev/e/xmqqr38vleps.fsf%40gitster.mtv.corp.google.com
In-Reply-To: <1473240491.20551.1.camel@kaarsemaker.net>

```
Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:

> There are quite a few patch series in flight these days around
> interactive rebase. Have you checked for conflicts with those?

IIRC, Ralf's fix would need to be ported to C version, and when it
happens, it won't just be a mere conflict but will disappear from
the scripted version ;-)

But the C version is not anywhere near 'pu' yet and being rerolled,
so I do not mind queuing it on 'pu' now merely as a reminder.

```

## Johannes Schindelin, 2016-09-09 12:21

Subject: Re: [PATCH v2] rebase -i: improve advice on bad instruction lines
Message-ID: <alpine.DEB.2.20.1609091421010.129229@virtualbox>
URL: https://gitlist.dev/e/alpine.DEB.2.20.1609091421010.129229%40virtualbox
In-Reply-To: <CAN0XMO+diDLXUrxjNGnUi6oUEwkcGavEX8vyGWy2+Wju-N4WJQ@mail.gmail.com>

```
Hi Ralf,

On Wed, 7 Sep 2016, Ralf Thielow wrote:

> 2016-09-07 11:28 GMT+02:00 Dennis Kaarsemaker <dennis@kaarsemaker.net>:
> > Hi Ralf,
> >
> > There are quite a few patch series in flight these days around
> > interactive rebase. Have you checked for conflicts with those?
> >
> 
> Thanks. I did not check against 'pu' when I created this patch but I'm able
> to apply without any conflicts.

Yeah, rewrites in C won't conflict with your patches. If you rebase
interactively, the worst that will happen is that you update code that was
moved into contrib/...

Ciao,
Johannes

```
