On Mon, Feb 15, 2016 at 5:39 PM, Thomas Gummerer <[email protected]> wrote:
> Both remote add and remote rename use a slightly different hand-rolled
> check if the remote exits. The hand-rolled check may have some subtle
> cases in which it might fail to detect when a remote already exists.
> One such case was fixed in fb86e32 ("git remote: allow adding remotes
> agreeing with url.<...>.insteadOf"). Another case is when a remote is
> configured as follows:
> [...]
> Signed-off-by: Thomas Gummerer <[email protected]>
> ---
> diff --git a/t/t5505-remote.sh b/t/t5505-remote.sh
> @@ -157,6 +157,24 @@ test_expect_success 'rename errors out early when
> deleting non-existent branch'
> +test_expect_success 'add existing foreign_vcs remote' '
> + git config --add remote.foo.vcs "bar" &&
> + git config --add remote.bar.vcs "bar" &&
> + test_when_finished git remote rm foo &&
> + test_when_finished git remote rm bar &&
Nit: If the second git-config fails, then none of the cleanup will
happen. You'd either want to re-order them like this:
git config --add remote.foo.vcs "bar" &&
test_when_finished git remote rm foo &&
git config --add remote.bar.vcs "bar" &&
test_when_finished git remote rm bar &&
or this:
test_when_finished git remote rm foo &&
git config --add remote.foo.vcs "bar" &&
test_when_finished git remote rm bar &&
git config --add remote.bar.vcs "bar" &&
or this:
test_when_finished git remote rm foo &&
test_when_finished git remote rm bar &&
git config --add remote.foo.vcs "bar" &&
git config --add remote.bar.vcs "bar" &&
Probably not worth a re-roll, though.
> + echo "fatal: remote bar already exists." >expect &&
> + test_must_fail git remote rename foo bar 2>actual &&
> + test_i18ncmp expect actual
> +'
--
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