[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
--
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