From: Marc Branchaud <marcnarc@xiplink.com>
To: Jeff King <peff@peff.net>
Cc: Junio C Hamano <gitster@pobox.com>,
Shawn Pearce <spearce@spearce.org>,
Neal Kreitzinger <neal@rsss.com>,
git@vger.kernel.org
Subject: Re: concurrent fetches to update same mirror
Date: Fri, 07 Jan 2011 09:50:28 -0500 [thread overview]
Message-ID: <4D272834.9060001@xiplink.com> (raw)
In-Reply-To: <20110106234512.GA17231@sigill.intra.peff.net>
On 11-01-06 06:45 PM, Jeff King wrote:
> On Wed, Jan 05, 2011 at 03:29:47PM -0800, Junio C Hamano wrote:
>
>> Jeff King <peff@peff.net> writes:
>>
>>> Interestingly, in the case of ref _creation_, not update, like this:
>>>
>>> mkdir repo && cd repo && git init
>>> git remote add origin some-remote-repo-that-takes-a-few-seconds
>>> xterm -e 'git fetch -v; read' & xterm -e 'git fetch -v; read'
>>>
>>> then both will happily update, the second one overwriting the results of
>>> the first. It seems in the case of locking a ref which previously didn't
>>> exist, we don't enforce that it still doesn't exist.
>>
>> We probably should, especially when there is no --force or +prefix is
>> involved.
>
> Hmph. So I created the test below to try to exercise this, expecting to
> see at least one failure: according to the above example, we aren't
> actually checking "null sha1 means ref must not exist", so we should get
> an erroneous success for that case. And there is the added complication
> that the null sha1 may also mean "don't care what the old one was". So
> even if I changed the code, we would get erroneous failures the other
> way.
>
> But much to my surprise, it actually passes with stock git. Which means
> I need to dig a little further to see exactly what is going on.
I should point out that the repository where I saw this issue is running git
1.7.1.
M.
next prev parent reply other threads:[~2011-01-07 14:50 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-05 20:33 concurrent fetches to update same mirror Neal Kreitzinger
2011-01-05 20:47 ` Jeff King
2011-01-05 20:51 ` Shawn Pearce
2011-01-05 20:53 ` Jeff King
2011-01-05 21:13 ` Jeff King
2011-01-05 22:34 ` Neal Kreitzinger
2011-01-05 22:42 ` Neal Kreitzinger
2011-01-05 22:57 ` Jeff King
2011-01-05 23:29 ` Junio C Hamano
2011-01-06 23:45 ` Jeff King
2011-01-07 14:50 ` Marc Branchaud [this message]
2011-01-07 14:51 ` Marc Branchaud
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=4D272834.9060001@xiplink.com \
--to=marcnarc@xiplink.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=neal@rsss.com \
--cc=peff@peff.net \
--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.
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.