Как получить diff между всеми файлами внутри 2 папок, которые находятся в Интернете?
Итак, я хочу сравнить эту папку http://cloudobserver.googlecode.com/svn/branches/v0.4/Boost.Extension.Tutorial/libs/boost/extension/
с this http://svn.boost.org/svn/boost/sandbox/boost/extension/
. В результате я хочу получить файл diff. Эти папки находятся под управлением svn, но я бы предпочел git стиль файла diff (например, один указанный здесь). Я пробовал git diff
, но, похоже, это не работает для веб-папок. Итак, как сделать то же самое с одной командой в Linux?
Update:
Поэтому у нас был отличный ответ. Но это работает странно - мне кажется, что это показывает, что все файлы (те же файлы) заменяют все содержимое вашего содержимого тем же самым содержимым (хотя я точно знаю, что всего было всего 3-4 строки кода)...
Обновление 2:
Для достижения того, что мне действительно нужно (diff файл только с измененными строками, с стилем 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
Ответы
Ответ 1
Как только у вас есть исходные деревья, например
diff -ENwbur repos1/ repos2/
Еще лучше
diff -ENwbur repos1/ repos2/ | kompare -o -
и иметь трещину на нем в хорошем инструменте gui:)
- -Ewb игнорирует основную часть пробелов.
- -N обнаруживать новые файлы
- -u унифицированный
- -r recurse
Ответ 2
Ваши 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 для сравнения двух каталогов, которые вы экспортировали.
// 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