OS X 10.5 でp4mergeをマージ/差分ツールとして使用するようにMercurialをセットアップする方法を知っている人はいますか?
6 に答える
これはマージに機能します:
~/.hgrc
これをあなたの(または、オプションで、Mercurial.ini
Windowsのあなたの)に置きます:
[merge-tools]
p4.priority = 100
p4.premerge = True # change this to False if you're don't trust hg's internal merge
p4.executable = /Applications/p4merge.app/Contents/MacOS/p4merge
p4.gui = True
p4.args = $base $local $other $output
Mercurial1.0以降が必要です。明らかに、p4mergeがインストールされた場所を反映するために、その実行可能ファイルへのパスを更新する必要があります。
hg diff
使用するものを変更することはできません; ただし、拡張機能を使用して、extdiff
必要な表示を使用する新しいdiffコマンドを作成できます。
したがってhg pdiff
、p4マージなどを実行できます。
私は TortoiseHg のバージョン 1.0.1 を使用しており、p4merge はすぐに使用できます。
グローバル設定 -> TortoiseHgに移動し、次のオプションを選択します。
- 3 者間マージ ツール: p4merge
- ビジュアル差分ツール: p4merge
Windows で作業しているためかもしれませんが、提案された解決策はうまくいきませんでした。代わりに、以下が機能します。
~/.hgrc/
/に、Mercurial.ini
次の変更を適用しました。
「ExtDiff」拡張機能を有効にしました:
[extensions]
hgext.extdiff =
P4 extdiff コマンドを追加:
[extdiff]
cmd.p4diff = p4merge
デフォルトのビジュアル差分ツールとして構成しました:
[tortoisehg]
vdiff = p4diff
p4merge用のCLIツールがあると思います(これについては何も知りません)。
私は、Changes.appの使用、およびMercurialでの他のいくつかのGUIツールについてのブログ投稿を書きました:GUIツールでのMercurialの使用。
基本的に、diffツールをロードするCLIツールの呼び出しの期待を知る必要があります。IE、特定のファイルからデータをロードする方法、および終了を待機させる方法。あなたにいくつかのアイデアを与えるのに十分な情報が投稿にあるはずです。
次の Python のビットを使用して p4merge を起動し、それを git で使用します。
#!/usr/bin/python
import sys
import os
os.system('/Applications/p4merge.app/Contents/MacOS/p4merge "%s" "%s"' % (sys.argv[2], sys.argv[5]))
Mercurial が外部の diff ツールをどのように起動するかはわかりませんが? 上記の行の 2 と 5 を「チェックイン」と「現在の作業コピー」の引数のインデックスに調整するのと同じくらい簡単だといいのですが。