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

Re: [RFC] [PATCH] remote: add new --fetch option for set-url

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 19, 2014, 21:18 UTC
Message-ID
<xmqqsiherirj.fsf@gitster.dls.corp.google.com>
In-Reply-To
<xmqq1toysyak.fsf@gitster.dls.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 29 quoted lines
> Jeff King <peff@peff.net> writes:
>
>> But here you do not have a pushurl defined in the first place. So I
>> guess this is really just a shortcut for swapping the two, like:
>>
>>   git remote set-url --push gh $(git config remote.gh.url)
>>   git remote set-url gh new-fetch-url
>
> It seems that this swapping is only necessary because the repository
> is set up in this way:
>
>     $ browser github.com
>     ... fork upstream to your own publishing repository ...
>     $ git clone <your publish repo>
>     ... oops, I am set up to fetch from myself ...
>     $ git remote set-url --push mine <url for your publish repo>
>     $ git remote set-url <url for your upstream repo>
>
> If you are fetching from somebody else and then pushing into your
> own publishing repository (i.e. fork of that upstream), why isn't
> the sequence of event like this, instead?
>
>     $ git clone $upstream
>     $ browser github.com
>     ... fork upstream to your own publishing repository ...
>     $ git remote set-url --push mine <url for your publish repo>
>
> Isn't this one of those bad workflows encouraged by GitHub, for
> which you guys have to be punished ;-)?

I re-read the original and Peter is really accessing the same repository, only over different transports. Cloning via ssh:// but later deciding to push via ssh:// but to fetch via https:// (or vice versa; the important point is that clone was done over a transport that is "wrong" for future fetching).

Of course, if you cloned via a wrong transport that is not suitable for whatever reason for later fetching, you would need to have a way to "swap", so the observation I made in the message I am following up on does not apply to this thread at all. Please scratch all of the above.

Coming back to the topic, how common would this "oops, I cloned via a wrong transport" be? I am not opposed to giving a recovery method for gotcha that does not happen very often, but if such an addition adds undue confusion factor for people who use "set-url" for more common cases, that would be a bad trade-off.

Previous: Junio C HamanoNext: Peter Wu
Message 10 of 27 in “remote: add new --fetch option for set-url”
  1. Peter WuNov 19, 2014
  2. Jeff KingNov 19, 2014
  3. Peter WuNov 19, 2014
  4. Jeff KingNov 19, 2014
  5. Peter WuNov 19, 2014
  6. Junio C HamanoNov 19, 2014
  7. Peter WuNov 19, 2014
  8. Junio C HamanoNov 19, 2014
  9. Junio C HamanoNov 19, 2014
  10. Junio C HamanoNov 19, 2014
  11. Peter WuNov 19, 2014
  12. Peter WuNov 24, 2014
  13. Junio C HamanoNov 24, 2014
  14. Peter WuNov 24, 2014
  15. Jeff KingNov 24, 2014
  16. Peter WuNov 24, 2014
  17. Jeff KingNov 24, 2014
  18. Junio C HamanoNov 24, 2014
  19. Peter WuNov 24, 2014
  20. Jeff KingNov 25, 2014
  21. Junio C HamanoNov 25, 2014
  22. Jeff KingNov 25, 2014
  23. Peter WuNov 25, 2014
  24. Philip OakleyNov 28, 2014
  25. Peter WuDec 2, 2014
  26. Junio C HamanoDec 2, 2014
  27. Peter WuNov 25, 2014

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.