2012-03-08 14 views
4

まず、マネージャーが主張しているのですが、生成されたファイルをチェックインしたくないです。これらの制約を受けて、私は自分の作業リポジトリで "生成された"という名前のすべてのディレクトリで常に "ファイル"を取る水銀の "マージパターン"を作成したいと考えています。私はhgrc documentationrelated postを読んで、ここで私はそれはのようになります。何を考えている:Mercurialに、特定のディレクトリ内のファイルのマージ競合中に自動的に "その"バージョンを受け入れるように指示する方法はありますか?

[merge-patterns] 
generated/** = internal:other #keep their files 

そして、これは私のルートの.hg/hgrcファイルに配置されます。私はマージの競合とHGのアップデートを実行すると、これは私が得るものです:

> hg update 
couldn't find merge tool internal:other #keep their files specified for generated/** 
merging generated/file.sv 

は、だから私はこのように見て、「マージ・パターン」を修正:

[merge-patterns] 
**/generated/** = internal:other #keep their files 

そして、ここでは、私が得るものです:警告まだ生成されたファイルをマージしようとしている:

> hg update 
merging generated/file.sv 

だから、私はもはや、「他の内部マージツール見つけることができませんでした」を取得していません。

これを動作させる方法に関するアイデアはありますか?

その他の注意事項:

  1. 我々は新しいバージョンとsubreposに問題があったように私達はMercurialのバージョン1.7.5を使用しています。

enter image description here

答えて

4

私は問題は単にコメントであると信じて:!私はそうここsubreposで働いています

  • は私のメインのレポの構造は次のようになります私はこれをテストしていませんが、私はあなたを信じて

    [merge-patterns] 
    # keep their files 
    generated/** = internal:other 
    

    :Mercurialが

    internal:other #keep their files 
    

    というツールを探して、それが存在する可能性は低いです:-)上記の行にコメントを移動してみてくださいあなたが使用した最初のパターンがまだ必要です。パターンはサブパターン内のと一致していないため、警告は2回目の試行で削除されました。最上位からマージを開始した場合でも、サブレポはhg mergeがサブペクト内で実行されたかのようにマージされます。

  • +0

    驚くばかりです。コピーと貼り付けられたコードが大好きです。 – stephenmm

    関連する問題