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)? 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