2016-04-10 19 views
0

Ich verwende den Befehl "bzr update -r $ {revisionNo}", um zwischen Revisionen zu wechseln. Aber es ist langsam und es scheint Netzwerkoperationen zu tun. Warum?bzr: Ist es möglich, zwischen Revisionen offline zu wechseln?

Ich habe das ganze Repo ausgecheckt, so dass alle Revisionen in meinem lokalen sein müssen. Warum verbindet es sich dann mit dem Netzwerk?

Antwort

1

Dies ist etwas spekulativ, aber ich würde vermuten, dass Sie mit einem bound branch arbeiten. Ein gebundener Zweig ist immer noch mit dem Standort verbunden, von dem Sie ausgecheckt haben, und er wird ihn für bestimmte Vorgänge konsultieren. Ein gebundener Zweig wird erstellt, wenn Sie bzr checkout anstelle von bzr branch verwenden. Es existiert, um CVS- oder Subversion-ähnliches Verhalten zu simulieren, wo Sie in einem zentralen Repository arbeiten.

Fast update wird nicht unterstützt, da dies nicht der beabsichtigte Betriebsmodus für gebundene Zweige ist. Sie können jedoch ältere Revisionen, die Sie lokal gespeichert haben, mit einem der Werte bzr checkout --lightweight, bzr export oder bzr revert erneut aufrufen.

Um vollständig offline zu arbeiten, können Sie bzr unbind oder bzr reconfigure --tree einen bestehenden gebundenen Zweig in einen ungebundenen Zweig zu konvertieren. Warnung: Wenn Sie dies tun, müssen Sie Ihre Commits explizit mit bzr push schieben, bevor sie im Remote-Repository sichtbar werden. Sie können bzr bind verwenden, um den Zweig erneut zu binden.

Und obwohl es unwahrscheinlich ist, ist es auch möglich, ein solches Szenario zu treffen, wenn Sie einen "gestapelten Zweig" erstellen. Bei einem gestapelten Zweig wird der Verlauf aus einem anderen Zweig wiederverwendet, und wenn dieser Zweig nicht lokal ist, müssen die meisten bzr-Vorgänge durch das Netzwerk gehen. Es wird mit bzr branch --stacked erstellt und ist normalerweise für die Verwendung auf einem Server vorgesehen, um Speicherplatz zu sparen. Sie können einen gestapelten Zweig mit bzr reconfigure --unstacked in einen unstacked Zweig umwandeln.