web-dev-qa-db-ja.com

Web上にある2つのフォルダー内のすべてのファイルの差分を取得する方法は?

だから このフォルダーを比較するhttp://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/thishttp://svn.boost.org/svn/boost/sandbox/boost/extension/でやりたい。結果として差分ファイルを取得したい。これらのフォルダーはsvnの制御下にありますが、gitスタイルのdiffファイル(1つ ここに表示 )を好みますgit diffを試しましたが、Webフォルダーではそのように機能しないようです。それでは、Linuxで1つのコマンドで同じことを行う方法は?

Update:したがって、 素晴らしい答え がありました。しかし、それは奇妙に動作します-私には、すべてのファイル(同じファイル)がすべての内容を非常に同じ内容に置き換えていることを示しているようです(確かに、3〜4コード行しか変更されていないことは確かです)...

更新2:本当に必要なことを達成するためにスタイリング、Linuxで):

$ svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2 --native-eol CRLF
$ svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos --native-eol CRLF
$ git diff repos repos2 > fileWithReadableDiff.diff
75
Rella

ソースツリーを取得したら、例えば.

diff -ENwbur repos1/ repos2/ 

さらに良い

diff -ENwbur repos1/ repos2/  | kompare -o -

良いGUIツールでそれをクラックします:)

  • -Ewbは空白の変更の大部分を無視します
  • -Nは新しいファイルを検出します
  • -uユニファイド
  • -r再帰
144
sehe

URLは同じリポジトリにないため、svn diffコマンドではできません。

svn: 'http://svn.boost.org/svn/boost/sandbox/boost/extension' isn't in the same repository as 'http://cloudobserver.googlecode.com/svn'

別の方法として、svn exportを使用して各リポジトリをエクスポートし、diffコマンドを使用してエクスポートした2つのディレクトリを比較します。

// Export repositories
svn export http://svn.boost.org/svn/boost/sandbox/boost/extension/ repos1
svn export http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/ repos2

// Compare exported directories
diff repos1 repos2 > file.diff
4
yvoyer