From: Michael J Gruber <git@drmicha.warpmail.net>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: [BUG?] git remote rm repo nukes local refs for mirror repo
Date: Tue, 14 Oct 2008 13:34:00 +0200 [thread overview]
Message-ID: <48F483A8.4070103@drmicha.warpmail.net> (raw)
In-Reply-To: <alpine.DEB.1.00.0810141131130.22125@pacific.mpi-cbg.de.mpi-cbg.de>
Johannes Schindelin venit, vidit, dixit 14.10.2008 11:32:
> Hi,
>
> On Tue, 14 Oct 2008, Michael J Gruber wrote:
>
>> I just noticed the hard way that "git remote rm repo" nukes all local
>> (mirrored) refs if repo had been setup with "git remote add --mirror
>> repo url".
>>
>> Some may argue that this behaviour fits the description "deletes all
>> remote tracking branches" but I would claim it does not: mirrored
>> branches are not remote tracking branches in the proper sense.
>
> Count me into the former group. If you set up a "--mirror" repository, it
> defeats the purpose to mix that with _true_ local branches.
>
> I'd color this a pilot error,
> Dscho
OK, I'll give some background about the motivation:
I have a "local" repo.
I want to create a "backup repo" which contains the same branches
(including proper remotes, svn remotes).
So, I create an empty bare repo somewhere (say store:backuprepo.git),
and in the local repo I do:
git remote add --mirror backup store:backuprepo.git
git push backup
I need "mirror=true" because otherwise branches are not created
automatically (on push) on the remote side. I need the '+refs/*:refs/*'
refspec because otherwise not all refs are mirrored. But now I can't use
"git remote rm backup" to remove the configuration because that would
take away all my local branches, too.
Instead, I could set up things with
git remote add backup store:backuprepo.git
git config remote.backup.push '+refs/*:refs/*'
Then all branches are mirrored on the remote automatically. But
interesting things happen after fetch and push... Read "recursion". So,
in order to avoid any remote/backup/foo branches on the local side I
would have to use
git remote add backup store:backuprepo.git
git config remote.backup.push '+refs/*:refs/*'
git config --unset remote.backup.fetch
in order to create a "backup remote" configuration. Maybe I'm just being
dense (which is actually OK for a functional analyst); I'd be happy
about any more direct solution. At least I think there should be one, a
backup bare remote mirror is a common use case, and the config massaging
above is not something to recommend to novice users.
Michael
P.S.: Yeah I know, git's no backup tool, there's rsync... ;)
prev parent reply other threads:[~2008-10-14 11:35 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-14 9:05 [BUG?] git remote rm repo nukes local refs for mirror repo Michael J Gruber
2008-10-14 9:32 ` Johannes Schindelin
2008-10-14 10:55 ` Samuel Tardieu
2008-10-14 11:34 ` Michael J Gruber [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48F483A8.4070103@drmicha.warpmail.net \
--to=git@drmicha.warpmail.net \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.