web-dev-qa-db-ja.com

Mac OS 10.7でのグラフィカルな複数ファイルペアの比較

Mac OSで「svn diff」出力をグラフィカルに表示することはできますか?

ほとんどのグラフィカルdiffプログラムでは、一度に1つのファイルのみを表示できます。 svnを使用して10個のファイルのように変更した場合、これは非常に不便です。

Linuxの場合、「 kompare 」プログラムで解決策を見つけました。私がやります:

svn diff > diffOut; kompare diffOut

その結果、グラフィカルプログラムで作業し、 picture に表示されているようにすべてのファイルを一度にチェックします。

Mac OSでも同じことがありますか?

追伸「meld」プログラムは同じように見える(またはそうではない?)ため、すでにインストールしようとしましたが、 error が返されました。したがって、OSx 10.7の下にインストールすることはできません。

45
klm123
  1. Mac OS用のコンパレがあります。 KDE SDKの一部であり、MacPortsを使用して取得できます。

    Sudo port install kdesdk4
    launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
    export PATH="/Applications/MacPorts/KDE4/kompare.app/Contents/MacOS:"$PATH
    

    そしてそれは動作します!

  2. SVNは、いわゆる external diff をサポートしています。

これを使用するには、svn-wrapperスクリプトを作成する必要があります。このスクリプトは、「svn diff」コマンドによって返されるパラメーターを受け取り、必要なパラメーターとは異なります。

「svn diff」が返すパラメータの例を次に示します。

-u -L code/Class1.h (revision 16518) -L code/Class1.h (working copy) code/.svn/text-base/Class1.h.svn-base code/Class1.h

opendiffには最後の2つが必要です。したがって、次のbash script が適切です。

#!/bin/sh

if [ $# -lt 2 ]; then
    echo "usage: $0 [ignored args...] file1 file2" >&2
    exit 1
fi

# The last two arguments passed to this script are the paths to the files
# to diff.
while [ $# -gt 2 ]; do
    shift
done

exec opendiff $*

このスクリプトをsvnwrapper.shファイルに入れます。ファイルを実行可能にした:

chmod +x svnwrapper.sh

そして、それを$ PATH変数に追加される一般的なパスに配置します。これで、svnを呼び出すことができます

svn diff --diff-cmd=svnwrapper.sh

または、〜/ .Subversion/configファイルの[helpers]セクションに追加します。

diff-cmd = svnwrapper.sh
3
klm123

Appleの FileMerge ツール、または Kaleidoscope を使用できます。これらの両方にコマンドライン呼び出しがあります:

  • fileMergeを開くには、Xcode内からコマンドライン開発者ツールをインストールし、opendiffを使用します
  • kaleidoscopeを開くには、Kaleidoscope内からコマンドラインツールをインストールし、ksdiffを使用します
62
user23743

KDiff は、オープンソースのビジュアルテキスト差分プログラムです。 windows、unix、linux、Mac OSXで使用できます。試してみてください。 Windowsでは、svn diff用に自動的に追加されます。私はMac OSXを使用していないので、この機能も利用できるとは言えません。

2つまたは3つのテキスト入力ファイルまたはディレクトリを比較またはマージします。

次の image url kdiff3サイトから、ディレクトリを比較することが示されています。

9
Atilla Ozgur

DiffMerge は無料で優れています。また、3者間比較とマージも行います。

4
Attila Fulop

Kaleidoscope は、ディレクトリ構造とディレクトリ内のファイルの比較から高速に切り替えたい場合、本当に良い選択です。 2つ以上のコピーを比較することもできます。また、ファイルを比較するアルゴリズム(マッチブロックとカラーコードの変更)は本当に優れていると思います。最後に、あなたが支払う必要があるよりも15日間の試用版が利用可能です。

2
stymek

これは、ニースのファイルとファイルの差分ツールです。 P4Merge: http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools

0
Chris Cinelli

私は正しく理解しているかどうかはよくわかりませんが、MacのSubclipseプラグインでEclipseを使用しています。

http://www.Eclipse.org/downloads/?osType=macosx

ページを読んで正しいバージョンを取得し、使用しているsvnのバージョンも考慮してください。

http://subclipse.tigris.org/servlets/ProjectProcess;jsessionid=1BCECCE84434FF08FDE32136D13FF061?pageID=p4wYuA

インストールしたら、同期のパースペクティブを選択し、競合していて変更が必要なすべてのファイルを表示できます。

しかし、あなたが言うランダムなファイルを差分させることができるかどうかはわかりません。しかし、それを試すことができます。

0
Emile

Bruno De Fraineは、各ファイルに対してOSXのFileMergeを起動するスクリプトをいくつか作成しました。 http://www.defraine.net/~brunod/fmdiff/

インストール

> svn co http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts/ fmscripts
> cd fmscripts
> make
> Sudo make install

Diff(ファイルごとにFileMergeを起動)

> svn diff --diff-cmd fmdiff
0
Peter Tseng

Beyond Compare は無料ではありませんが、使用して気に入っています。

0
bonobon

ここでは、 Meld for OSX.dmgインストーラーの最新バージョンを見つけることができます。