2013-02-24 3 views
0

J'utilise Bazaar un certain temps maintenant, mais pour le moment je suis à la recherche d'une solution au problème suivant:Bazaar gérer plusieurs branches à la fois

En supposant que vous avez plusieurs développeurs avec tout le monde en développement dans son propre branche, comme ceci:

Projet
|
| ---- Branche 1
|
| ---- Branche 2
|
...

Maintenant, nous avons un chef de projet qui veut avoir une vue d'ensemble sur toutes les branches.

Est-il possible (en utilisant uniquement les fonctions bzr) qu'il puisse gérer ces branches en même temps?

Avec « gérer », je veux dire la mise à jour, engager et peut-être même la caisse (dernier pourrait peut-être fait avec multi-traction mais je pense que cela écraserait les données locales existantes)

Salutations Florian

post-scriptum Je sais que ce cas d'utilisation pourrait facilement être réalisé avec SVN (en utilisant simplement des sous-répertoires - mais sans les fonctionnalités d'un dvcs) ou plus ou moins facilement avec shell-scripts (quelque chose comme bzr list-branches | xargs bzr update), mais Je préférerais une fonction bzr intégrée

Répondre

1

Vous pouvez voir toutes les branches dans une arborescence de répertoires avec:

bzr branches -R /path/to/base/dir 

Cependant, cela ne fonctionne que sur le système de fichiers local. Si vous devez rechercher des branches dans un système distant, vous devez exécuter la commande via ssh ou autre. Une fois que vous avez la liste des branches, le gestionnaire doit les ramifier dans son référentiel partagé local, de préférence configuré avec l'option --no-trees pour l'efficacité de l'espace. Les branches existantes devraient être tirées à la place (en utilisant le multi-pull par exemple), les branches enlevées devraient être enlevées. Une fois qu'il a les branches, le moyen le plus simple d'avoir une vue d'ensemble est d'utiliser Bazaar Explorer. Ouvrez l'emplacement du référentiel partagé. J'aime particulièrement le bouton Log, qui montrera l'arbre des bûches.

Quand vous dites "commit" ... Le gestionnaire ne doit pas s'engager dans les branches du développeur. Si des correctifs sont nécessaires, il est préférable de demander au développeur de résoudre le problème, sinon le gestionnaire devra toujours nettoyer son mess pour lui. Le gestionnaire ne doit fusionner que les autres branches vers le tronc/main/master. En d'autres termes, utilisez le workflow gatekeeper.

Questions connexes