0

so, we have a repositories set up like:

repoA: kiln/repo/repositories/MyCoolSoftWare/main

repoB: iln/repo/repositories/MyCoolSoftware/feature1

repoC: iln/repo/repositories/MyCoolSoftware/feature2

etc..

where repoB and repoC are "branch repositories" of repoA.

we use repoA as "the trunk" and all of our CI process is tied to it. so the workflow is whenever we nee to work on a new feature or bug, we create a new branch repository (repoB, C, etc) and work on it. there is a review process that is done before that is pushed into repoA.

the problem is, that sometimes a developer will accidentally push into repoA. we really have to prevent this.

but if we give "read only" access to repoA, then the developer cannot create branch repositories. only by giving "modify" access to repoA can we allow developers to create repoB, etc.

this seems like a severe problem. as our team grows it is becoming more and more of a problem. I cannot create all the branches for everyone. nor can I allow them to continue "making mistakes" and pushing right into "the trunk" (repoA).

help!?!

flag

2 Answers

1

If you go into RepoA and into "Settings" you should find a place where you can create custom permissions for the repository. Give all of your developers read-only access to it this way and they should be able to Branch but not push.

The reason they can't branch when using project-level permissions is because branching would create a new branch in that project that they don't have access to edit. In other words, the "Branch" operation works fine, but Kiln won't let them add the Branch to the project.

link|flag
0

Consider using native (or named) mercurial branches rather than Kiln branched repositories. Using native branches for features means that developers only branch and merges are restricted to QA. It is virtually impossible to merge two native branches by accident.

In my opinion, a branch-per-feature development process is completely unworkable using the repository clones that Kiln refers to as "branches" or "branch repositories".

More details on our process here and here.

link|flag

Your Answer

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