0

私はごく最近、Bzr共有リポジトリを使用してプロジェクトを管理し始めました。これは、これまでインクリメンタルコミットを行っていたスタンドアロンリポジトリから分岐することで導き出しました。この新しい共有リポジトリには、「/ trunk、/branchs」レイアウトがあります。

--xxxx_shared
  --trunk
    --src
    --lib
    --doc
  --branches

そこで、このリポジトリのトランクからのいくつかの変更をメインラインにマージしましたが、後でトランクからさらにいくつかの変更をプッシュしようとすると、2つのブランチが分岐したというエラーが発生しました。私はメインラインへのマージをコミットしていたので、相違がありました。しかし、マージをコミットする必要がある場合、これをどのように回避するのでしょうか。それとも私は物事を真剣に誤解していますか?

この競合を解決するために、メインラインのBACKから共有トランクブランチにマージしました。/ xxxx_shared / trunkのリビジョン履歴が次のようになっているので、これは間違いだったと思います。

    ------------------------------------------------------------
    revno: 74 [merge]
    committer: Chris <xxxxxxxx@yahoo.com>
    branch nick: trunk
    timestamp: Wed 2011-12-14 03:47:49 +0000
    message:
      Committing merge from parent branch.
        ------------------------------------------------------------
        revno: 71.1.1 [merge]
        committer: Chris <xxxxxxxx@yahoo.com>
        branch nick: mainline
        timestamp: Tue 2011-12-13 21:13:06 +0000
        message:
          Merged WinAPI toolbar updates from /projects/xxxx_shared/trunk.
    ------------------------------------------------------------
    revno: 73
    committer: Chris <xxxxxxxx@yahoo.com>
    branch nick: trunk
    timestamp: Wed 2011-12-14 03:33:35 +0000
    message:
      Updated the WinAPI toolbar button code...

したがって、上記の71.1.1はメインラインからマージされており、FROM / projects / xxxx_shared / trunk(共有リポジトリ)からメインラインへのマージを指します。

これがすべて明確であることを願っています。しかし、直線的な開発ラインを回復するために、この問題をどのように解決できますか?そして、将来この種のことを避けるために、Bzrでの保守的な「ベストプラクティス」は何でしょうか?元のスタンドアロンリポジトリの変更されていないコピーがまだあるので、必要に応じていつでもそこに戻って最初からやり直すことができます。

4

1 に答える 1

1

「メイン ライン」を「トランク」の正確なミラーとして使用する場合は、トランクからメイン ラインにのみプッシュするか、トランクからメイン ラインにプルする必要があります。

cd mainline
bzr pull /path/to/repo/trunk

ブランチの状況が分岐している場合は、コマンドを使用してbzr missing分岐が発生する理由を理解し、その後トランクにマージしてpull上記のコマンドを実行する必要があります。したがって、メインラインはトランクの正確なコピーになります.

于 2011-12-16T09:19:00.203 に答える