Есть ли команда SVN, чтобы найти разницу между двумя локальными файлами? - PullRequest
6 голосов
/ 06 мая 2009

Какая команда SVN находит разницу между двумя файлами на жестком диске (ни один из которых не находится в хранилище)?

Какую команду найти, если один из файлов относится к определенной версии SVN?

Какие классные вещи вы делаете, используя команды SVN?

Ответы [ 4 ]

15 голосов
/ 06 мая 2009

Вы не используете SVN для сравнения файлов, которых нет в хранилище. Если вы используете Linux, используйте команду:

diff file1 file2

Если вы используете Windows, попробуйте такой инструмент, как win merge , например

Чтобы найти информацию о файле в хранилище, используйте команду:

svn info file

Если вы хотите узнать больше о SVN, взгляните на официальный учебник .

6 голосов
/ 07 мая 2009

В TortoiseSVN вы можете различать два произвольных файла. Просто выберите их оба и выберите diff в контекстном меню tortoiseSVN. Однако они должны находиться в одном каталоге, иначе TSVN не будет отображать команду diff. В этом случае вы можете использовать вспомогательные инструменты TortoiseIDiff.exe и TortoiseMerge.exe , которые являются частью TortoiseSVN и находятся в папке TSVN_installation / bin

5 голосов
/ 04 февраля 2014

svn diff --old foo.c --new bar.c

2 голосов
/ 06 мая 2009

Ответы:

  1. Нет, SVN может сравнивать версии репозитория для цели (т. Е. Версии 1 и 3 конкретного файла) или версию рабочей копии с последней извлеченной версией, или версии рабочей копии и репозитория

  2. Зависит от того, что вы подразумеваете под этим. Если файл был добавлен, вы можете проверить журнал на наличие файла для данной ревизии, например:

    svn log filename @ revnumber

например, проверьте журнал TestFile.txt в редакции 2:

svn log TestFile.txt@2

если выводится журнал, в ревизии 2 был файл с таким именем, в противном случае его не было.

Однако это не скажет вам, является ли файл, который у вас есть в рабочей копии, тем же, что и файл, в котором вы проверяли журнал (т. Е. Если вы удалили файл в более ранней ревизии, а затем добавлен новый файл с тем же именем, это не тот же файл, по времени жизни, но это файл с тем же именем в том же месте).

Что касается третьего вопроса, можете ли вы быть более конкретным?

...