threads / patch / 44026

patchrebase -i: improve advice on bad instruction lines

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

## tl;dr

7 messages between Sep 6, 2016 and Sep 9, 2016. Diffs are folded; open one to read it.

replies: 6people: 4as markdown or json

Ralf Thielow· Sep 6, 2016, 18:08 UTC · lore

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(-)
Show changes to git-rebase--interactive.sh +1 −1
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· Sep 6, 2016, 18:50 UTC · re: Ralf Thielow · lore

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

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· Sep 6, 2016, 18:59 UTC · re: Ralf Thielow · lore

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

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(-)
Show changes to 2 files +4 −4

git-rebase--interactive.sh, t/t3404-rebase-interactive.sh

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· Sep 7, 2016, 09:28 UTC · re: Ralf Thielow · lore

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

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:
Show 70 quoted lines
> 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· Sep 7, 2016, 17:07 UTC · re: Dennis Kaarsemaker · lore

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

2016-09-07 11:28 GMT+02:00 Dennis Kaarsemaker <dennis@kaarsemaker.net>:
Show 5 quoted lines
> 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.

Johannes Schindelin· Sep 9, 2016, 12:21 UTC · re: Ralf Thielow · lore

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

Hi Ralf,
On Wed, 7 Sep 2016, Ralf Thielow wrote:
Show 9 quoted lines
> 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

Junio C Hamano· Sep 7, 2016, 18:58 UTC · re: Dennis Kaarsemaker · lore

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

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.

← back to recent threads