git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v2 4/4] remote: use remote_is_configured() for add and rename

From
Eric Sunshine <sunshine@sunshineco.com>
Date
Feb 15, 2016, 22:52 UTC
Message-ID
<CAPig+cTH+S67_T=O58E_x--ZhawQEZKjCmK8G+unzm_8f2w8eA@mail.gmail.com>
In-Reply-To
<1455575984-24348-5-git-send-email-t.gummerer@gmail.com>
On Mon, Feb 15, 2016 at 5:39 PM, Thomas Gummerer <t.gummerer@gmail.com> wrote:
Show 16 quoted lines
> 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 <t.gummerer@gmail.com>
> ---
> 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
> +'
Previous: Thomas GummererNext: Jeff King
Message 8 of 17 in “git remote improvements”
  1. 0/4 git remote improvementsThomas Gummerer, Feb 15, 2016
  2. 1/4 remote: use parse_config_keyThomas Gummerer, Feb 15, 2016
  3. Jeff KingFeb 15, 2016
  4. Thomas GummererFeb 16, 2016
  5. 2/4 remote: simplify remote_is_configured()Thomas Gummerer, Feb 15, 2016
  6. 3/4 remote: actually check if remote exitsThomas Gummerer, Feb 15, 2016
  7. 4/4 remote: use remote_is_configured() for add and renameThomas Gummerer, Feb 15, 2016
  8. Eric SunshineFeb 15, 2016
  9. Jeff KingFeb 15, 2016
  10. Thomas GummererFeb 16, 2016
  11. 0/4 git remote improvementsThomas Gummerer, Feb 16, 2016
  12. 1/4 remote: use parse_config_keyThomas Gummerer, Feb 16, 2016
  13. 2/4 remote: simplify remote_is_configured()Thomas Gummerer, Feb 16, 2016
  14. 3/4 remote: actually check if remote exitsThomas Gummerer, Feb 16, 2016
  15. 4/4 remote: use remote_is_configured() for add and renameThomas Gummerer, Feb 16, 2016
  16. Jeff KingFeb 16, 2016
  17. Junio C HamanoFeb 16, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.