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

Re: [PATCH 1/3] remote: Add warnings about mixin --mirror and other remotes

From
Dennis Kaarsemaker <dennis@kaarsemaker.net>
Date
Jun 26, 2013, 21:10 UTC
Message-ID
<1372281006.3602.2.camel@localhost>
In-Reply-To
<7vmwqge9u9.fsf@alter.siamese.dyndns.org>
On zo, 2013-06-23 at 15:33 -0700, Junio C Hamano wrote:
Show 33 quoted lines
> Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:
> 
> > On zo, 2013-06-23 at 14:22 -0700, Junio C Hamano wrote:
> >> Dennis Kaarsemaker <dennis@kaarsemaker.net> writes:
> >> 
> >> > Equality for
> >> > wildcards is allowed and tested for, so do we really want to 'outlaw'
> >> > equality of non-wildcard refspecs?
> >> 
> >> I am not sure what you mean by "equality for wildcards is allowed".
> >> Do you mean this pair of remote definition is sane and not warned?
> >> 
> >> 	[remote "one"]
> >>         	fetch = refs/heads/*:refs/remotes/mixed/*
> >> 
> >> 	[remote "two"]
> >>         	fetch = refs/heads/*:refs/remotes/mixed/*
> >
> > I personally don't consider them very sane and didn't originally support
> > that. But this behavior is tested for in t5505-remote.sh test 27, which
> > started failing until I stopped warning for equal refspecs. This support
> > for "alt remotes" in prune was added by c175a7ad in 2008. The commit
> > message for that commit give a plausible reason for using them.
> 
> I actually do not read it that way.  What it wanted to do primarily
> was to avoid pruning "refs/remotes/alt/*" based on what it observed
> at the remote named "alt", when the refs fetched from that remote is
> set to update "refs/remotes/origin/*".
>
> The example in the log message is a special case where two
> physically different remotes are actually copies of a single logical
> repository, so in that narrow use case, it may be OK, but it is an
> unusual thing to do and we should "warn" about it, I think.

Apart from the exactly matching refspecs, does git in any other way treat this as a special case?

> In any case, I've been assuming in this discussion "allow" is to
> silently accept, and overlaps are "warned" but not "rejected".  So
> if you meant by 'outlaw' to die and refuse to run, that is not what
> I meant.

Well, 1/3 is a warning on add, 3/3 is a warning and refusing to prune. Should 3/3 do something else instead? Perhaps prompt for confirmation or require some sort of --force?

-- 
Dennis Kaarsemaker
www.kaarsemaker.net
Previous: Junio C HamanoNext: Junio C Hamano
Message 19 of 23 in “[BUG?] remote prune origin interacts badly with clone --mirror and multiple remotes”
  1. Dennis KaarsemakerJun 20, 2013
  2. remote: make prune work for mixed mirror/non-mirror reposDennis Kaarsemaker, Jun 20, 2013
  3. Junio C HamanoJun 20, 2013
  4. Dennis KaarsemakerJun 20, 2013
  5. Junio C HamanoJun 20, 2013
  6. Dennis KaarsemakerJun 20, 2013
  7. Junio C HamanoJun 20, 2013
  8. Jeff KingJun 20, 2013
  9. Dennis KaarsemakerJun 20, 2013
  10. Junio C HamanoJun 20, 2013
  11. remote: make prune work for mixed mirror/non-mirror reposDennis Kaarsemaker, Jun 20, 2013
  12. 0/3 Handling overlapping refspecs slightly smarterDennis Kaarsemaker, Jun 21, 2013
  13. 1/3 remote: Add warnings about mixin --mirror and other remotesDennis Kaarsemaker, Jun 21, 2013
  14. Junio C HamanoJun 21, 2013
  15. Dennis KaarsemakerJun 23, 2013
  16. Junio C HamanoJun 23, 2013
  17. Dennis KaarsemakerJun 23, 2013
  18. Junio C HamanoJun 23, 2013
  19. Dennis KaarsemakerJun 26, 2013
  20. Junio C HamanoJun 26, 2013
  21. 2/3 remote: Add test for prune and mixed --mirror and normal remotesDennis Kaarsemaker, Jun 21, 2013
  22. 3/3 remote: don't prune when detecting overlapping refspecsDennis Kaarsemaker, Jun 21, 2013
  23. Junio C HamanoJun 21, 2013

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.