Jeff King [off-list ref] writes:
That's behaving as expected. Unfortunately, you cannot currently do what
you want easily; there is no way to "unset" a multi-valued config
variable (like credential.helper) with a later one. Git will ask both
configured helpers for the password, and will store a successful result
in both.
The simplest way I can think of to work around it is to point your $HOME
elsewhere[1] during the integration test, so that it does not read your
regular ~/gitconfig.
Yup, that was the reaction I initially had. I saw your "setting
helper to an empty string does not mean anything sensible, so let's
use it as a signal to clear the list" patch and I think that is a
reasonable workaround.
Thanks.