Re: rebase [-i --exec | -ix] <CMD>...
From: Matthieu Moy <hidden>
Date: 2016-06-15 22:54:00
konglu@minatec.inpg.fr writes:
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.
I don't see a reason why it wouldn't. Anyway, quotes are managed by the shell, and in our case, sed is the one complaining. I experimented a bit, and it seems Mac OS's sed insists in having a \ and a newline after i (it seems POSIX requires it too). In your code above, the \ is included in double quotes, so you have to escape it. This snippet works reliably on my Linux machine and on a Mac OS X one: x=$(echo 'pick foo' | sed -e "/pick/i\\ exec $1") echo "$x"
Anyway, even if it's not the problem, this kind of quoting is quite odd so it will be removed in the next patch
Be careful, you do need quoting around $i. -- Matthieu Moy http://www-verimag.imag.fr/~moy/