Subject: Re: Race condition in git push --mirror can cause silent ref rewinding

From: Alex Vandiver <[email-masked]>
Date: Mon, 14 Jul 2014 00:09:16 -0400

On 07/02/2014 07:10 PM, Alex Vandiver wrote:
> On 07/02/2014 06:20 PM, Junio C Hamano wrote:
>> Alex Vandiver <[email-masked]> writes:
>>
>>>     [remote "github"]
>>>         url = [email-masked]:bestpractical/rt.git
>>>         fetch = +refs/*:refs/*
>>>         mirror = yes
>>
>> "git push github master^:master" must stay a usable way to update
>> the published repository to an arbitrary commit, so "if set to
>> mirror, do not pretend that a fetch in reverse has happened during
>> 'git push'" will not be a solution to this issue.
> 
> Hm?  I'm confused, as mirror isn't compatible with refspecs:
> 
> $ git push github master^:master
> error: --mirror can't be combined with refspecs

Just following up on this -- can you clarify your statement about "git
push github master^:master" in light of the fact that --mirror already
disallows such?
 - Alex