2009-12-21 10 views
5

Bazaar hat ein Launchpad-Pseudo-Protokoll (lp :), das in der Lage ist, in entfernten Zweigen zu arbeiten, ohne vollständige Launchpad Speicherort zu schreiben, suche ich eine Möglichkeit, meine eigenen Pseudo-Protokolle in einem Art und Weise, wie diese (ähnlich GIT):Bazaar (bzr) vordefinierte Standorte

bzr remote my sftp://[email protected]/home/myuser/myrepo/ 
bzr push my:mybranch 
bzr push my:otherbranch 
bzr push my:anotherbranch 

... statt ...

bzr push sftp://[email protected]/home/myuser/myrepo/mybranch 
bzr push sftp://[email protected]/home/myuser/myrepo/otherbranch 
bzr push sftp://[email protected]/home/myuser/myrepo/anotherbranch 

... das ist ein Schmerz in den Arsch.

Ich readed über bazaar.conf, aber es scheint nur in der Lage, Sie eine globale Push-Standorte für jede Branche/Repo setzen. Eine andere Möglichkeit, die ich sah, ist die Verwendung von Alias, hat aber das gleiche Problem, ist sehr hässlich, wenn es notwendig ist, neue Zweige zu erstellen.

Ist dies möglich, ohne den BZR-Code zu ändern? Dies sollte offensichtlich sein ...

Antwort

8

Die my: xxx Syntax namens directory services in bzr. Sie können Ihren eigenen Verzeichnisdienst über ein Plugin definieren (in Python schreiben).

Gutes Beispiel für solche Plugins ist bookmark plugin. Prüfen Sie.

Vielleicht ist dieses Plugin selbst genug für Ihre Bedürfnisse.

+0

Arbeit großen Dank! aber das sollte standardmäßig installiert sein. Ich kann dich nicht wählen ... noch (beachte das indirekte) – mkotechno

7

Die Lösung ist BZR-Lesezeichen Plugin als ~/.bazaar/plugins/Lesezeichen installieren, dann:

bzr bookmark my sftp://[email protected]/home/myuser/myrepo/ 
bzr push bm:my/mybranch 
bzr push bm:my/otherbranch 
bzr push bm:my/anotherbranch