Re: rebase [-i --exec | -ix] <CMD>...
Torsten Bögershausen <tboegi@web.de> a écrit :
Show 56 quoted lines
> On 07.06.12 20:07, konglu@minatec.inpg.fr wrote:
>> On which branch are you applying the patch ? It should works on
>> branch master (it works for me) but it won't on branch "pu", as
>> it has already been queued.
>>
>> Lucien Kong
>>
> Thanks, now the patch applies on master.
> But it seems that the problem is still there:
> ================
> [snip]
> ok 55 - prepare for rebase -i --exec
>
> expecting success:
> git rebase -i --exec "git show HEAD" HEAD~2 >actual &&
> (
> FAKE_LINES="1 exec_git_show_HEAD 2 exec_git_show_HEAD" &&
> export FAKE_LINES &&
> git rebase -i HEAD~2 >expected
> ) &&
> sed 1,9d expected >expect &&
> mv expect expected &&
> test_cmp expected actual
>
> sed: 1: "/^pick .*/i\exec git s ...": extra characters after \ at
> the end of i command
> Successfully rebased and updated refs/heads/execute.
> Successfully rebased and updated refs/heads/execute.
> --- expected 2012-06-07 19:07:51.000000000 +0000
> +++ actual 2012-06-07 19:07:50.000000000 +0000
> @@ -1,18 +1,4 @@
> -Rebasing (2/4)
> Executing: git show HEAD
> -commit 8f99a4f1fbbd214b25a070ad34ec5a8f833522cc
> -Author: A U Thor <author@example.com>
> -Date: Thu Apr 7 15:17:13 2005 -0700
> -
> - E
> -
> -diff --git a/file3 b/file3
> -new file mode 100644
> -index 0000000..1c50726
> ---- /dev/null
> -+++ b/file3
> -@@ -0,0 +1 @@
> -+E
> -Rebasing (3/4)
> Rebasing (4/4)
> Executing: git show HEAD
> +Rebasing (1/1)
> Executing: git show HEAD
> commit 925b01e149bd188d43f972ad86d1e4d6611c8fa0
> Author: A U Thor <author@example.com>
> Date: Thu Apr 7 16:10:13 2005 -0700
> not ok - 56 running "git rebase -i --exec git show HEAD"
> [snip]
As you pointed out, the problem seems to come from this line
tmp=$(sed "/^pick .*/i\exec $i" "$1")
I think that the dquote here doesn't work on MacOS, though i've
never tried it. Anyway, even if it's not the problem, this kind
of quoting is quite odd so it will be removed in the next patch
(I do not see other reasons of the issue, as sed's i command should
work on MacOS).