Проверьте разницу с файлом на сервере


У меня есть рабочая копия репозитория на моей машине, и я знаю, что она была обновлена на сервере. Я хотел бы знать, как получить разницу между новой версией и версией на моей рабочей копии с помощью svn аргументы командной строки.

есть ли способ для меня сделать это?

2 70

2 ответа:

рабочая копия-это база ревизий. Последняя копия из репозитория-это revision HEAD. Это позволит сравнить вашу рабочую копию с редакцией HEAD:

svn diff -r HEAD <file>

На самом деле это выплюнет изменения в обратном порядке, т. е. он говорит вам, как перейти от головы к базе. Так что технически вы хотите:

svn diff -r BASE:HEAD <file>

можете ли вы сэкономить удары клавиатуры? Только вы и Ваше божество знаете этот ответ.

разницу между рабочую копию и HEAD; изменения, которые необходимо внести в то, что сейчас находится в репозитории (HEAD), чтобы произвести свой рабочую копию:

svn diff -r HEAD --old=<file>

из возможных интересов, разница между BASE и HEAD; изменения, внесенные в репозиторий с момента последнего обновления рабочую копию:

svn diff -r BASE:HEAD <file>

и конечно же разница между BASE и рабочую копию; изменения, внесенные с момента последнего обновления рабочую копию:

svn diff <file>


обсуждаются три версии:BASE,рабочую копию и HEAD.

  • BASE:<file> как последний раз проверено / обновлено. Что рабочую копию вернется к После использования svn revert
  • рабочую копию: локальные изменения <file> который был проверен / обновлен совсем недавно, как BASE
  • HEAD: последние изменения в репозитории. Эквивалентно BASEiff С тех пор никаких изменений не было совершено <file> был проверен / обновлен как рабочую копию.