Mac OSで「svn diff」出力をグラフィカルに表示することはできますか?
ほとんどのグラフィカルdiffプログラムでは、一度に1つのファイルのみを表示できます。 svnを使用して10個のファイルのように変更した場合、これは非常に不便です。
Linuxの場合、「 kompare 」プログラムで解決策を見つけました。私がやります:
svn diff > diffOut; kompare diffOut
その結果、グラフィカルプログラムで作業し、 picture に表示されているようにすべてのファイルを一度にチェックします。
Mac OSでも同じことがありますか?
追伸「meld」プログラムは同じように見える(またはそうではない?)ため、すでにインストールしようとしましたが、 error が返されました。したがって、OSx 10.7の下にインストールすることはできません。
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
そしてそれは動作します!
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
Appleの FileMerge ツール、または Kaleidoscope を使用できます。これらの両方にコマンドライン呼び出しがあります:
opendiff
を使用しますksdiff
を使用しますDiffMerge は無料で優れています。また、3者間比較とマージも行います。
Kaleidoscope は、ディレクトリ構造とディレクトリ内のファイルの比較から高速に切り替えたい場合、本当に良い選択です。 2つ以上のコピーを比較することもできます。また、ファイルを比較するアルゴリズム(マッチブロックとカラーコードの変更)は本当に優れていると思います。最後に、あなたが支払う必要があるよりも15日間の試用版が利用可能です。
これは、ニースのファイルとファイルの差分ツールです。 P4Merge: http://www.perforce.com/product/components/perforce-visual-merge-and-diff-tools
私は正しく理解しているかどうかはよくわかりませんが、MacのSubclipseプラグインでEclipseを使用しています。
http://www.Eclipse.org/downloads/?osType=macosx
ページを読んで正しいバージョンを取得し、使用しているsvnのバージョンも考慮してください。
インストールしたら、同期のパースペクティブを選択し、競合していて変更が必要なすべてのファイルを表示できます。
しかし、あなたが言うランダムなファイルを差分させることができるかどうかはわかりません。しかし、それを試すことができます。
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
Beyond Compare は無料ではありませんが、使用して気に入っています。
ここでは、 Meld for OSX.dmg
インストーラーの最新バージョンを見つけることができます。