On Mar 24, 2014, at 4:54 PM, Jeff King <peff@xxxxxxxx> wrote: > On Mon, Mar 24, 2014 at 03:18:14PM -0400, Scott Sandler wrote: > >> I've noticed that a few times in the past several weeks, we've had >> events where pushes have been lost when two people pushed at just >> about the same time. The scenario is that two users both have commits >> based on commit A, call them B and B'. The user with commit B pushes >> at about the same time as the user who pushes B'. Both pushes are >> determined to be fast-forwards and both succeed, but B' overwrites B >> and B is no longer on origin/master. The server does have B in its >> .git directory but the commit isn't on any branch. > > What version of git are you running on the server? Is it possible that > there is a simultaneous process running `git pack-refs` (e.g., a `git > gc` run by a cron job or similar)? `git gc --auto` could be getting triggered as well, so if you suspect that you could set gc.auto=0 on the server side. > > There were some race conditions fixed last year wherein git could see > stale values of refs, but I do not think they could impact writing to a > ref like this. When we take the lock on the ref, we always go straight > to the filesystem, so the value we see is up-to-date. > > -Peff > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html