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


I believe this can be accomplished:

  • Please do not post link-only answers to prevent link rot. Instead, add the most relevant information from the link to your answer or alternatively, post the link as a comment instead of an answer. See this help center article for further information.
    – Sven
    May 6 '16 at 18:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.