git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: "Shawn O. Pearce" <spearce@spearce.org>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 3/3 v2] Make "git-remote rm" delete refs acccording to fetch specs
Date: Sun, 1 Jun 2008 02:30:51 -0400	[thread overview]
Message-ID: <20080601063051.GH12896@spearce.org> (raw)
In-Reply-To: <7vprr1d8p2.fsf@gitster.siamese.dyndns.org>

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.

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.

-- 
Shawn.

  reply	other threads:[~2008-06-01  6:31 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 [this message]
2008-06-01  8:28       ` Junio C Hamano
2008-06-02 17:10       ` Jon Loeliger

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=20080601063051.GH12896@spearce.org \
    --to=spearce@spearce.org \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /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).