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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox