What source control systems have file level permissions?
-
13-09-2019 - |
Question
I might propose migrating away from VSS due to its inability to grant and deny permissions at the file level. The question is what source control systems allow this.
Update I am marking the SVN answer as the "correct" one, since it had the most feedback. However, there is no correct answer. I will make my recommendations to management based on all your feedback.
Solution
subversion does too, but the ACL is managed in a configuration file
OTHER TIPS
Perforce does.
I'm not really answering your question, but I think it's not a very useful feature to have permissions on VCS. People should know where they're allowed to commit, people should be reviewing commits, and if someone's committing where they're not supposed to:
- You catch it in the review
- You roll back the change (which is what a VCS is designed for)
- You figure out why: was it a mistake, or on purpose?
If you're worried that people will make unauthorized changes, then you have a social problem that the permissions won't fix. If you're worried that people will accidentally make changes to the wrong code, then you have a different social problem (lack of review) that the permissions also won't fix.
Whatever its other flaws, IBM Rational Clearcase does support file-level permission controls. It also has other mechanisms that you can use - notably triggers which can be written to cause an otherwise permitted checkin to fail.
Mercurial does, with the bundled Acl extension
If you are using VSS now, Team Foundation Version Control (TFVS) is the logical upgrade, especially if your corporate mandate is Microsoft-only tools.
Take a look at Plastic SCM and it's ACL model.