Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] TransportAmazonS3 concurrent push

On 02/10/2013 12:21, Shawn Pearce wrote:
On Wed, Oct 2, 2013 at 10:57 AM, James Yonan <james@xxxxxxxxxxx> wrote:
The docs for TransportAmazonS3 say "Multiple concurrent push operations may
cause confusion in the repository state."

Is "confusion" just a euphemism for corruption?

Yes. There is no locking, so there is no safe way to ensure your push
doesn't replace someone else's push. Pushes to S3 are essentially
always running with --force. It tries best effort to avoid a
non-fast-forward update, but once its read the value someone else can
replace it without you knowing, and then you replace it, last one
wins. :-)

Just trying to understand the worst-case scenario here... So suppose that two people push at the same time, and the last one wins.

This post [1] ("Git requires minimal file locking...") implies that the "loser" could do a pull/push cycle to restore their lost push in the repo.

Is this the case with jgit as well?

James

[1] http://stackoverflow.com/questions/750765/concurrency-in-a-git-repo-on-a-network-shared-folder


Back to the top