How can I control which branch fires a hook?

Asked by Simon on 2010-12-17


I'm evaluating DCVS systems to replace what we currently run.

This would be a fairly complex set of centralised main branch repositories pushed to by various QA team repositories, in turn pushed to by several dev team repositories, which in turn may be pushed to by indivdual dev team member repositories.

These repositories may exist on the same machine or different machines depending on various factors.

I want to be able to push info to a bug tracking tool on certain of these repositories on the main server (ie the qa repos) but not others (the dev team repos). Clearly hooks are the way to go for this.

Since some of these different 'levels' of repository will be running form the same installation of Bazaar and since as far as I can tell Bazaar doesnt appear to have any obvious per branch hook control (unlike Mercurial for instance), how can I achieve this? Or is it just not possible with Bazaar in its current form?

Thanks in advance.

Question information

English Edit question
Bazaar Externals plugin Edit question
No assignee Edit question
Last query:
Last reply:
Eugene Tarasenko (etarasenko) said : #1

You need to use the change_branch_tip hook on the main server.

Simon (snaish) said : #2

Hi Eugene,

I understand the change_branch_tip hook is fired for all events that effect the branch tip.

As far as I can tell though this is installed syste, wide on the server. This is a dev server as well as the repository server, so will this hook not get fired whenever a dev team repo gets changed as well as when a QA repo gets changed?

I need to be able to control seperate actions from hooks on different branches (repos) on the same machine, and how to do this, or if it is even possible is not clear from the documentation.

For instance a single memeber of a dev team may need to set up a a branch (on the dev server) for the team to work from, they all have accounts on the same machine, he has a personal branch too, under the same user profile. How do I make the dev team branch he has set up behave differently from the personal branch he has set up when a commit happens on either branch?

Eugene Tarasenko (etarasenko) said : #3

I understood You question, please repost it to "Bazaar - General Discussion"

Can you help with this problem?

Provide an answer of your own, or ask Simon for more information if necessary.

To post a message you must log in.