デフォルトの差分以上のものが必要です!最近「BeyondCompare」を購入しましたが、svnと統合したいので、次のように入力すると起動します。
svn diff foo.c
どうすればよいですか?
デフォルトの差分以上のものが必要です!最近「BeyondCompare」を購入しましたが、svnと統合したいので、次のように入力すると起動します。
svn diff foo.c
どうすればよいですか?
Beyond Compare フォーラムの投稿から:
/usr/bin/bcompare_svn:
#!/bin/bash
/usr/bin/bcompare $6 $7 &
exit 0
bcompare の呼び出しは明らかですが、svn が一度に複数のファイルを開くように「exit 0」を追加する必要がありました。
svn にスクリプトを呼び出させるために、~/.subversion/config の [helpers] セクションに次の行を追加しました。
diff-cmd=/usr/bin/bcompare_svn
svn --diff-cmd を見てください。
Andy Lester の回答にコメントを追加したいのですが、十分な評判がありません。しかし、私は質問に答えることができると思います。
とにかく... Andyがすでに指摘したように、「svn help diff」を実行しますが、答えを出すだけです...
svn diff --diff-cmd <diff-cmd> --extensions <diff-cmd オプション>
svn diff --diff-cmd /usr/bin/diff --extensions "-bca" <ファイル名>
最近、Linux での Subversion の手順をUsing Beyond Compare With Version Control SystemsのWeb ページに追加しました。上記のリンクの手順に従うと、「svn diff」を実行すると Linux 用の Beyond Compare 3 が起動するはずです。
最新の Subversion では、スクリプト /usr/bin/bcompare_svn は次のようになります。
#!/bin/bash
cp $6 $6.save
cp $7 $7.save
{
/usr/bin/bcompare $6.save $7.save
rm $6.save $7.save
} &
exit 0
または(テストされていないコード)
#!/bin/bash
base=`echo $3 | sed -r "s/^([^\(]+)[ \t]+\((.+)\)$/\1.\2/g" | xargs -i% basename "%"`
current=`echo $5 | sed -r "s/^([^\(]+)[ \t]\((.+)\)$/\1.\2/g" | xargs -i% basename "%"`
mv "$6" "/tmp/$base"
mv "$7" "/tmp/$current"
{
/usr/local/bcompare/bin/bcompare "/tmp/$base" "/tmp/$current"
rm "/tmp/$base" "/tmp/$current"
} &
exit 0