RE: Question re. git remote repository
From: David Lang <hidden>
Date: 2016-06-15 22:55:48
On Thu, 17 Jan 2013, Matt Seitz (matseitz) wrote:
quoted
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