From: Jeff King Date: Fri, 06 Apr 2012 00:37:10 GMT Subject: Re: Interleaved remote branch update problems Message-ID: <20120406003710.GC14224@sigill.intra.peff.net> In-Reply-To: <201204051549.14397.mfick@codeaurora.org> On Thu, Apr 05, 2012 at 03:49:14PM -0600, Martin Fick wrote: > I have noticed that git push --force does not reliably force > a push to remote branches. In particular, it will not > update a remote branch if that branch has been updated since > the beginning of the push. Is this normal, is this > expected? Yes, that's expected. --force means "it's OK to push something that will rewind history", not "it's OK to clobber somebody else who is pushing at the same time". The determination for the former happens on the client side, and for the latter on the server side. If you want the latter, you would need a protocol extension, I think; I'm pretty sure the client doesn't transmit the force flag at all to the server (and I don't think this should be tied to the force flag automatically; they are two different cases, and you may be in a situation where it is safe to do the former but not necessarily the latter). -Peff