Thread (1 message) 1 message, 1 author, 2016-06-15

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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help