git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jon Loeliger <jdl@freescale.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: Junio C Hamano <gitster@pobox.com>, Git List <git@vger.kernel.org>
Subject: Re: [PATCH 3/3 v2] Make "git-remote rm" delete refs acccording to fetch specs
Date: Mon, 02 Jun 2008 12:10:25 -0500	[thread overview]
Message-ID: <1212426625.3990.19.camel@ld0161-tx32> (raw)
In-Reply-To: <20080601063051.GH12896@spearce.org>

On Sun, 2008-06-01 at 02:30 -0400, Shawn O. Pearce wrote:
> Junio C Hamano <gitster@pobox.com> wrote:
> > "Shawn O. Pearce" <spearce@spearce.org> writes:
> > 
> > >  This is a longer, but better version of this patch.  Instead of
> > >  blindly deleting the refs we remove them only if this is the last
> > >  remote that would write to the local tracking ref.
> > 
> > If this is a better version than the previous one, then probably "git
> > remote prune" patch to unconditionally remove ones that do not exist in
> > one of the remotes that fetch into the tracking namespace also needs to be
> > rethought, doesn't it?
> 
> Nope.  I've thought about this already.  ;-)
>  
> > Admittedly, next fetch from the other remote may or may not resurrect them
> > and either way it is not a big deal.
> 
> Correct.
> 
> > I think this is exactly the same issue as this improvement in [3/3] deals
> > with.  If "git remote rm" of one remote removed the shared tracked refs,
> > next fetch from the other remote would resurrect them if the other remote
> > still exists.  It may probably feel better to be extra careful like this
> > improved patch, but I doubt it would matter in practice.  After all,
> > people who creates such a configuration would know what they are doing.
> 
> I don't think it matters in practice.
> 
> If the user has configured two different remotes with different URLs
> fetching to the same set of tracking branches, well, they get what
> they get when their prune and fetch start fighting over a tracking
> branch existing or disappearing.
> 
> Today I found these misfeatures in git-remote because I sort of do
> what I showed in my second patch.  I have two remotes which fetch to
> the same tracking branches, as they fetch from the same repository,
> just over two different protocols.  There never should be a time
> where I can see a difference between them, unless its just a race
> condition where someone else created or deleted a branch between
> my two sequential git-fetch/git-remote calls.

This all seems sort of fragile to me.  Like maybe there
is a different name-space concept itching to get out here.
Like a [refspec "foo"] node in the config file or something
that clearly states the expected namespace for an remote.

> I think the behavior in 2/2 and 3/3v2 is the best we can do, short of
> contacting all other remotes which go to the same tracking branch.
> But that may not be possible.  One reason for using two different
> remote configurations to the same tracking branches is to make
> the URL differ.  Think fetching against repo.or.cz using git://
> and also http://, where http:// is necessary when you are stuck
> behind a @#U*!@(#*!@#*!@(@!! proxy server.  We cannot contact both
> remotes to verify the branch really is safe to prune.

Didn't we settle on an alternate URL mechanism that covered
this case already?  Or was that a different case/

CRS,
jdl

      parent reply	other threads:[~2008-06-02 17:11 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-01  3:59 [PATCH 3/3] Make "git-remote rm" delete refs acccording to fetch specs Shawn O. Pearce
2008-06-01  4:28 ` [PATCH 3/3 v2] " Shawn O. Pearce
2008-06-01  4:40   ` Shawn O. Pearce
2008-06-01  5:29   ` Junio C Hamano
2008-06-01  6:30     ` Shawn O. Pearce
2008-06-01  8:28       ` Junio C Hamano
2008-06-02 17:10       ` Jon Loeliger [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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1212426625.3990.19.camel@ld0161-tx32 \
    --to=jdl@freescale.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=spearce@spearce.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.
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).