sbartell
sbartell

Reputation: 873

managing permissions between windows and mac git commiters

The story goes like this...

My team has a git repo on a windows fileserver. A windows guy sets the repo up and begins committing. I, a mac guy, clone to my filesystem, makes some commits, then push back (actually i go to the repo and pull my changes in). The problem is now I own permissions to the files in the repo, and even though I have read/write permissions for everyone in the folder I cloned the repo into, the repo somehow takes on additional permissions restrictions on the windows os and my coworkers cannot commit.

The scenario can play out the other way too. I set up the repo and a windows guy screws up the permissions.

So how are you guys ensuring that permissions are consistent between different development environments?

Upvotes: 3

Views: 717

Answers (1)

VonC
VonC

Reputation: 1324278

Maybe you could try the config core.sharedRepository:

core.sharedRepository

When group (or true), the repository is made shareable between several users in a group (making sure all the files and objects are group-writable).

  • When all (or world or everybody), the repository will be readable by all users, additionally to being group-shareable.
  • When umask (or false), git will use permissions reported by umask(2).
  • When 0xxx, where 0xxx is an octal number, files in the repository will have this mode value. 0xxx will override user’s umask value (whereas the other options will only override requested parts of the user’s umask value).
    Examples: 0660 will make the repo read/write-able for the owner and group, but inaccessible to others (equivalent to group unless umask is e.g. 0022).
    0640 is a repository that is group-readable but not group-writable. See git-init(1).

False by default.

Upvotes: 1

Related Questions