Jeff King <[email protected]> writes:
> The test_set_editor helper does some magic to help with quoting, but
> that should not be an issue in this case (since we are using "cat"). We
> are using test_set_editor elsewhere in the script, which would have set
> EDITOR previously. But I would think that GIT_EDITOR, which we are using
> here, would supersede that. However, the error message he shows
> indicates that git is using EDITOR (as FAKE_EDITOR is part of that quote
> magic).
>
> Am I misremembering the issues with one-shot variables and functions?
I think there are two problems involved.
The first is that we are not really using GIT_EDITOR under some
shells; to wit:
------------------------ >8 ------------------------
$ cat >/var/tmp/dashtest.sh <<\EOF
#!/bin/sh
test_must_fail () {
(
env | sed -n -e '/EDITOR/s/^/>> /p'
)
}
EDITOR=dog
export EDITOR
GIT_EDITOR=cat test_must_fail foo
EOF
$ dash /var/tmp/dashtest.sh
>> EDITOR=dog
$ bash /var/tmp/dashtest.sh
>> GIT_EDITOR=cat
>> EDITOR=dog
------------------------ 8< ------------------------
So it appears that GIT_EDITOR that was never exported in the script
fails to get exported with the "VAR=VAL cmd" syntax under dash, when
cmd is not a command but is a shell function. The "git commit" in
question ends up using $EDITOR.
Another is that EDITOR="$FAKE_EDITOR" that is set up earlier in the
is having trouble launching (I have a feeling that it never was
actually used because everybody uses "commit -F <file>").
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html