How do I prevent a branch from being pushed to another branch in BZR?

Posted by cabbey on Stack Overflow See other posts from Stack Overflow or by cabbey
Published on 2010-12-29T03:48:16Z Indexed on 2010/12/29 3:54 UTC
Read the original article Hit count: 192

We use a dev-test-prod branching scheme with bzr 2. I'd like to setup a bzr hook on the prod branch that will reject a push from the test branch. Looking at the bzr docs, this looks doable, but I'm kinda surprised that my searches don't turn up any one having done it, at least not via any of the keywords I've thought to search by. I'm hoping someone has already gotten this working and can share their path to success.

My current thought is to use the pre_change_branch_tip hook to check for the presence of a file on the test branch. If it's present, fail the commit.

You may ask, why test for a file, why not just test the branch name? Because I actually need to handle the case where our developers have branched their devel branch, pulled in the shared test branch and are now (erroneously) pushing that test branch to production instead of pushing their feature branch to production. And it seems a billion times easier to look for a file in the new branch than to try to interrogate the sending branch's lineage.

So has someone done this? seen it done? or do I get to venture out into the uncharted wasteland that is hook development with bzr? :)

© Stack Overflow or respective owner

Related posts about bazaar

Related posts about branching-and-merging