Как получить разницу между всеми файлами внутри 2 папок, которые находятся в интернете?
Я хочу сравните эту папкуhttp://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/
С этойhttp://svn.boost.org/svn/boost/sandbox/boost/extension/
. Я хочу получить файл diff в результате. Эти папки находятся под управлением svn, но я бы предпочел git styled diff file (как показано здесь) я попробовал git diff
но это, кажется, не работает таким образом для веб-папок. Так как же сделать то же самое с одной командой на Linux?
обновление: Так что у нас был отличный ответ. Но это работает странно - мне кажется, это показывает что все файлы (одни и те же файлы) имеют все их содержимое, замененное на одно и то же содержимое (хотя я точно знаю, что было всего 3-4 строки кода, измененные вообще)...
обновление 2: Чтобы достичь того, что мне действительно нужно (dif-файл с действительно измененными строками, с Git-стилем, в 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
2 ответа:
Как только у вас есть исходные деревья, например
diff -ENwbur repos1/ repos2/
еще лучше
diff -ENwbur repos1/ repos2/ | kompare -o -
и испытать его в хороший инструмент :)
- -Эн игнорировать основную часть изменения пробельных символов
- -N обнаружение новых файлов
- -у Единой
- -Р рекурсия
вы адреса не находятся в одном репозитории, так что вы не можете сделать это с помощью тега .
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 для сравнения двух экспортированных каталогов.// 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