I am banging my head on a wall with this one and getting nowhere. I hope that someone here has a clue or just confirm my impression that it's impossible to do.
I am using gitolite 2.3 on an internal repository to apply advanced ACLs. I have been asked to modify the configuration so that users in a special group, say @projectX
are able to:
- push any change, including non fast-forward, on any branch whose name begins with
projectX-
; - for other branches, they must be able to push only if the file is in the directory
/projectX
at the top level, otherwise they must be able only to pull/clone.
Now, giving them full permissions on "their" branches and clone/pull on any other is trivial, a rule like RW+ projectX-.* = @projectX
will do.
In the same way, giving them full permissions on a path and pull/clone permissions otherwise is also easy (just a few rules).
I can't find a way to apply "both", so that the users retains full permissions on their branches and read-only permission on any other branch with the exception of "their" path.
I am starting to feel the smell of impossible... any clues?
Thanks in advance
-- bronto