git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* [BUG?] remote prune origin interacts badly with clone --mirror and multiple remotes
@ 2013-06-20 21:23 Dennis Kaarsemaker
  2013-06-20 22:11 ` [PATCH] remote: make prune work for mixed mirror/non-mirror repos Dennis Kaarsemaker
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Dennis Kaarsemaker @ 2013-06-20 21:23 UTC (permalink / raw)
  To: git

[git version: next as of yesterday afternoon]

If I clone a repo with git clone --mirror, and add other remotes later,
'git remote prune origin' deletes all branches and tags of the other
remotes.

Easily repeatable example:

[core]
	repositoryformatversion = 0
	filemode = true
	bare = true
	logallrefupdates = false
[remote "origin"]
	url = git://github.com/git/git.git
	fetch = +refs/*:refs/*
	mirror = true
[remote "peff"]
	url = git://github.com/peff/git.git
	fetch = +refs/heads/*:refs/remotes/peff/*

'git remote prune origin' will delete all peff's branches in this case.
I'm guessing the wildcards refs/* and refs/remotes/peff/* interact badly
in some place, and I'm trying to understand builtin/remote.c to see if I
can fix it, but haven't gotten very far yet.

git fetch --prune origin and git remote update --prune also show this
behaviour.

git remote prune peff does not delete non-peff branches in this
scenario, further strengthening my belief that the refs/* and
refs/remotes/peff/* wildcards interact badly with prune.

Or is this considered normal behaviour and is what I'm trying to do
simply unsupported? In that case a warning would be welcome when adding
remotes to a --mirror'ed repository.
-- 
Dennis Kaarsemaker
www.kaarsemaker.net

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2013-06-26 23:42 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-06-20 21:23 [BUG?] remote prune origin interacts badly with clone --mirror and multiple remotes Dennis Kaarsemaker
2013-06-20 22:11 ` [PATCH] remote: make prune work for mixed mirror/non-mirror repos Dennis Kaarsemaker
2013-06-20 22:46   ` Junio C Hamano
2013-06-20 23:07     ` Dennis Kaarsemaker
2013-06-20 23:30       ` Junio C Hamano
2013-06-20 23:38         ` Dennis Kaarsemaker
2013-06-20 23:44           ` Junio C Hamano
2013-06-20 23:08     ` Jeff King
2013-06-20 23:29       ` Dennis Kaarsemaker
2013-06-20 23:36         ` Junio C Hamano
2013-06-20 22:53 ` [PATCH v2] " Dennis Kaarsemaker
2013-06-21 10:04 ` [PATCH 0/3] Handling overlapping refspecs slightly smarter Dennis Kaarsemaker
2013-06-21 10:04 ` [PATCH 1/3] remote: Add warnings about mixin --mirror and other remotes Dennis Kaarsemaker
2013-06-21 18:42   ` Junio C Hamano
2013-06-23 13:35     ` Dennis Kaarsemaker
2013-06-23 21:22       ` Junio C Hamano
2013-06-23 21:43         ` Dennis Kaarsemaker
2013-06-23 22:33           ` Junio C Hamano
2013-06-26 21:10             ` Dennis Kaarsemaker
2013-06-26 23:42               ` Junio C Hamano
2013-06-21 10:04 ` [PATCH 2/3] remote: Add test for prune and mixed --mirror and normal remotes Dennis Kaarsemaker
2013-06-21 10:04 ` [PATCH 3/3] remote: don't prune when detecting overlapping refspecs Dennis Kaarsemaker
2013-06-21 18:53   ` Junio C Hamano

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).