Web lists-archives.com

Re: git rebase regression: cannot pass a shell expression directly to --exec

Hi Eric,

On Mon, 15 May 2017, Eric Rannaud wrote:

> It used to be possible to run a sequence like:
>   foo() { echo X; }
>   export -f foo
>   git rebase --exec foo HEAD~10

It would appear to me that you used a side effect of an implementation
detail: that `git rebase -i` was implemented entirely as a shell script.

In my mind, this was a fragile assumption, and that is why...

> commit 18633e1a22a68bbe8e6311a1039d13ebbf6fd041 (refs/bisect/bad)
> Author: Johannes Schindelin <johannes.schindelin@xxxxxx>
> Date:   Thu Feb 9 23:23:11 2017 +0100
>     rebase -i: use the rebase--helper builtin

... this commit, which is a long-overdue start of cleaning up our act,
broke your code's assumption.

I am afraid that your code placed too much of a dependency on an
implementation detail that changed.

In short: I think that your fix to your script is correct.