0

複数のブランチを持つホスト A に Bazaar リポジトリがあります。これは私のメインのリポジトリです。

今まで、私は他のマシンでチェックアウトを行い、メイン リポジトリに直接コミットしてきました。ただし、現在、すべての作業をラップトップと複数の VM に統合しています。定期的にオフラインで作業する必要があります。特に、オフライン中にブランチを作成/削除/マージする必要があります。

ホストAにマスターを持ち、ラップトップにリポジトリのクローンを持ち、各VMがクローンのチェックアウトを行うことを考えていました。

次に、オフラインになると、クローンで bzr unbind を実行し、オンラインに戻ったときに bzr bind を実行できます。

bzr clone はブランチを複製するだけなので、これは bzr clone しようとするとすぐに失敗しました(!!!!)

深刻な助けが必要です。Hg がこれをうまく処理してくれるなら、私に知らせてください (Windows のサポートが必要です)。しかし、現時点では、いくつかの重要な締め切りが近すぎるため、Bazaar から切り替えることができません。

前もって感謝します!

4

1 に答える 1

0

bzrは基本的に1つのブランチ/ディレクトリで動作します(ブランチはファイルシステムレベルで表示されます)。したがって、リポジトリから各ブランチのクローンを作成する必要がある場合(svnとは異なります)。Hgは、基本的なレベルでもこの​​ように機能します(ただし、たとえば名前付きブランチを使用して、1つのリポジトリに複数のブランチを配置できます)。

DVCSの場合、次のことを区別することが重要です。

  • 作業ツリー:バージョン管理されたファイルのセット(特定のリビジョン)
  • ブランチ:線形のリビジョンセット
  • リポジトリ:一連のリビジョン

bzrによってバージョン管理されたディレクトリをローカルで複製すると、複製しているブランチのすべてのリビジョンを含むリポジトリサブセットをコピーし、作業ツリーを取得します。これは、作業ツリーのブランチを要求したり、共有リポジトリを使用したりしていないことを前提としています。

IIUCで必要なのは、すべてのブランチを含む完全なリポジトリのクローンを作成することです。私が信じるbzrには、これを行うための「ネイティブ」な方法はありませんが、マルチプルやプッシュレポジトリなど、これに役立つプラグインを使用して、複数のブランチを1回のショットで同期できます。

しかし、それがなぜこれほど大きな問題なのか、オフラインでの作業との関連性はわかりません。ラップトップで作業したいブランチのクローンを作成するだけです。

于 2009-08-07T02:59:08.077 に答える