PERFORCEを使用した3ウェイのマージ/解決のためのLinuxベースのツールを探しています。私はvim/vimdiffに精通していますが、3ウェイマージにどのように/使用できるかわかりません。どちらの場合でも、あなたによると、Linuxで最高のマージ/解決ツールは何であるかを教えてください。
わかりやすくするために、Xサーバーを必要としないツール、つまりパテを介して使用できるツールが望ましいことを付け加えておきます。
Xクライアントを使用しないことに完全に固執している場合は、emacsのediffを見てみてください。これはテキストモードで機能します(ただし、Xの方が簡単です)。
三方差分ツールでファイルを解決することについて話していると思います。異なるバージョンは、
これを行うには、Linux で少しセットアップが必要です。.p4config
好ましい差分ツールを定義するファイルがあります。
P4CLIENT=mywork
P4DIFF=diff -u
P4EDITOR=vi
P4IGNORE=.p4ignore
ここでP4DIFF
は に設定しdiff -u
ます。全体を機能させるには、.p4config
ファイルを環境変数によって perforce にプラグインする必要があります。
export P4CONFIG=.p4config
今がスイートスポットです。実際にコマンドで解決する必要がありますp4 resolve
。
p4 resolve /path/to/mysource.h
これを行うとすぐに、私たちが作業していた元のバージョンを誰かが変更したため、競合があることがわかります。したがって、それは私たちの行動を促すものです。
/path/to/mysource.h - merging //stream/version/path/to/mysource.h#2
Diff chunks: 13 yours + 2 theirs + 0 both + 1 conflicting
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) e: d
を押すと差分が表示されd
ます。
--- /path/to/mysource.h 2016-09-28 18:34:54.918709150 -0400
+++ /path/to/tmp.6365.102 2016-09-29 11:05:32.228946564 -0400
@@ -16,6 +16,7 @@
we are same in all branches
same as everywhere
+ added line
more same
@@ -28,7 +29,12 @@
here you go the conflict
+>>>> ORIGINAL //stream/version/path/to/mysource.h#1
+ the original line is here
+==== THEIRS //stream/version/path/to/mysource.h#2
+ their line is here
+==== YOURS /path/to/mysource.h
my line is here
+<<<<
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) e: e
これで、このタイピングを修正できるようになりましたe
。+====
行と行の間で異なるバージョンを比較できるエディターが開きます+<<<<
。
編集が完了したら、入力して受け入れることができますa
。
Accept(a) Edit(e) Diff(d) Merge (m) Skip(s) Help(?) ae: a
プロセス全体は、リモート コマンド/シェル ウィンドウから実行できます。したがって、X サーバーは必要ありません。
私はmeldを好みます。これは強力ですが軽量であり、Kdiff3 のような KDE 依存関係はありません。公式ホームページを見る
と呼ばれるものdiff3
があり、マージオプションがあります。どこから来たのかわからず、使用していません。diff3 -m file1 file2 file3
. それが価値があるもののためにそれを取ります。
ところで、私は OpenSuSE 11.2 を実行しています。