Thread (8 messages) flat view 8 messages, 2 authors, 2016-06-15

Re: Question re. git remote repository

From: David Lang <hidden>
Date: 2016-06-15 22:55:48

On Wed, 16 Jan 2013, Matt Seitz (matseitz) wrote:
"David Lang" [off-list ref] wrote in message news:[ref]...
quoted
But if you try to have one filesystem, with multiple people running git on their
machines against that shared filesystem, I would expect you to have all sorts of
problems.
What leads you to think you will have problems?

Why would there be more of a problem on a network file system as opposed to 
local file system that can be accessed by multiple users?
There are safety checks and synchronization primitives that work between 
mulitiple users on one machine (where you can see what other processes are 
running for example) that don't work with separate machines using a filesystem
Linus seemed to think it should work:

http://permalink.gmane.org/gmane.comp.version-control.git/122670
well, he knows git better than I do, but using git over NFS/CIFS is not the same 
as saying that you have multiple users on different systems making changes.

In the link you point at, he says that you can have problems with some types of 
actions. He points out things like git prune, but I would also say that there 
are probably race conditions if you have two git processes that try to change 
the HEAD to different things at the same time.
And "git init" specifically has a "shared" option:

--shared[=(false|true|umask|group|all|world|everybody|0xxx)]

Specify that the git repository is to be shared amongst several users. This 
allows users belonging to the same group to push into that repository. When 
specified, the config variable "core.sharedRepository" is set so that files 
and directories under $GIT_DIR are created with the requested permissions. 
When not specified, git will use permissions reported by umask(2).
I think this is dealing with multiple users _reading_ a repository, not making 
updates to it at the same time.

David Lang
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help