2012-04-25 5 views
1

マージします。私はMercurialにこれらの分野でそれを手助けするために与えられるオプションがあるかどうか疑問に思っています。Mercurialの必要なマニュアルは、私はMercurialの下で実行されているプロジェクトを持っていると私は自動的にマージすることができるはずと信じていたときに、ファイルを手動で、マージ必要な状況の多くを発見していますが予期せず

プロジェクトには、プロジェクト上で編集できない数百のファイルがあるプラットフォームがあります。プラットフォームが更新されると、プロジェクトはMercurialの外部でこれらのコアファイルの更新版を取得します。私は何度見ている順序は次のとおりです。(コアプラットフォームの更新メカニズムにリンクされている)、中央のdevのシステムで

  • はコアプラットフォームの新バージョンを取得します。
  • これらの変更をコミットします。私のLinuxボックスの中央水銀サーバー

からhg commit -m "New platform release"

  • プッシュ:

    • コミットローカルの変更
    • 中央水銀サーバーからプル、および
    • がコアにマージの競合を検索マージしようファイル

    最後の2つのコアファイルIベースバージョンとローカルバージョンの間で変更を加えないでください(ビルド中にアクセス時間が更新されますが、内容は同じです)。唯一の変更は、私がマージしているリモートリビジョンです。私の知る

    唯一の非標準的な構成は、中央水銀インスタンスはRedmineのリポジトリを更新するcommitフックのセットアップで、Rhodecodeの下で実行されていることです。

    マージンを把握するために水銀で設定できるものはありますか?

  • 答えて

    1

    あなたは、マージについての詳細情報を取得する--debugとマージをやり直すことができます。それはあなたのリポジトリを取り、123と456は、あなたが近づく調べたいマージの両親です

    $ cd .. 
    $ hg clone my-project -r 123 -r 456 merge-test 
    

    を行い、です。次に、Mercurialの言葉を見るために

    $ hg merge --debug 
    

    を実行してください。

    $ hg merge --debug 
        searching for copies back to rev 2 
    resolving manifests 
    overwrite: False, partial: False 
    ancestor: 932f5550d0ce, local: b0c286a4a76d+, remote: c491d1593652 
    foo: remote is newer -> g 
    updating: foo 1/1 files (100.00%) 
    getting foo 
    1 files updated, 0 files merged, 0 files removed, 0 files unresolved 
    (branch merge, don't forget to commit) 
    

    ここで私はリビジョンb0c286a4a76dにあったとc491d1593652と合併:ファイルfooだけで、あなたがマージしているブランチで変更された場合には、次のようになります。

    また、ファイルが祖先のリビジョンとあなたがマージしている2つのチェンジの間で変更されたダブルチェックに

    $ hg status --rev "ancestor(b0c286a4a76d, c491d1593652)" --rev "c491d1593652" 
    M foo 
    $ hg status --rev "ancestor(b0c286a4a76d, c491d1593652)" --rev "b0c286a4a76d" 
    M bar 
    

    を使用することができます。あなたの上に、私はfooを1つのブランチに変更し、barをもう一方のブランチに変更しました。

    両方のステータスリストにプラットフォームファイルが表示されている場合は、プロシージャで何か問題が発生し、これによってマージの競合が説明されます。

    何がうまくいかないのか分からない場合は、Mercurialメーリングリストでこの質問をすることをお勧めします。それは議論のための素晴らしい場所です。バグ狩り - スタックオーバーフローよりはるかに優れています。

    +0

    マジックが間違っている次回のデバッグ出力を見てみましょう。 – asc99c

    関連する問題

     関連する問題