47

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

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

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

svn diff > diffOut; kompare diffOut

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

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

PS の "meld" プログラムも同じように動作するようで (または動作しないのでしょうか?)、既にインストールを試みましたが、エラーが発生しました。したがって、OSx 10.7 ではインストールできないと思います。

4

11 に答える 11

64

Apple のFileMergeツールまたはKaleidoscopeを使用できます。どちらもコマンドライン呼び出しがあります。

  • FileMerge を開くには、Xcode 内からコマンドライン開発者ツールをインストールして使用しますopendiff
  • Kaleidoscope を開き、Kaleidoscope 内からコマンドライン ツールをインストールして使用します。ksdiff
于 2012-08-07T16:11:04.383 に答える
9

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

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

次の kdiff3 サイトの画像 URLは、ディレクトリを比較することを示しています。

于 2012-08-19T20:12:24.510 に答える
4

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

于 2013-12-17T12:35:37.500 に答える
3
  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」コマンドによって返されるパラメーターを取得し、必要なパラメーターを指定して difference を呼び出します。

「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スクリプトが適切です。

#!/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
于 2012-08-14T01:41:17.810 に答える
0

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

于 2015-02-04T01:36:07.597 に答える
0

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

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

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

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

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

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

于 2012-08-19T21:12:08.140 に答える
0

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

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

> svn diff --diff-cmd fmdiff
于 2014-07-18T04:34:32.713 に答える
-2

Beyond Compareは、リストに追加できる別のものです。無料でクロスプラットフォーム (Windows、Mac、Linux) です。

于 2015-11-21T12:19:49.800 に答える