From: David Lang Date: Thu, 17 Jan 2013 01:59:54 GMT Subject: RE: Question re. git remote repository Message-ID: In-Reply-To: On Thu, 17 Jan 2013, Matt Seitz (matseitz) wrote: >> From: David Lang [mailto:david@lang.hm] >> >> Linus says that git does not have "proper locking", so think about it, >> what do >> you think will happen if person A does git add a/b; git commit and person >> B does >> git add c/d; git commit? > > Sorry, I wasn't clear. My assumption is that a shared repository on a network file system will either be: > > 1. a bare repository that is normally accessed only by "git push" and "git pull" (or "git fetch"), the central repository model. pulling from it would not be a problem, I could see issues with multiple pushes taking place (the underlying repository would not get corrupted, but you will very quickly hit conflicts where the push is not a fast forward and you need to merge, not just push) > 2. a repository where only one user does "git add" and "git commit", while > other users will do "git pull", the peer-to-peer model (you pull changes from > me, I pull changes from you). At this point only one system is writing to the repository and it doesn't matter that it's on network storage vs local storage. pulling from a shared repository is probably safe, but I wouldn't bet against there being any conditions where a pull at the same time someone is doing an update being able to cause problems. The normal thing is to do the pulls through git-daemon, and that does make sure that what you are pulling is consistant. David Lang