Проверьте разницу с файлом на сервере
У меня есть рабочая копия репозитория на моей машине, и я знаю, что она была обновлена на сервере. Я хотел бы знать, как получить разницу между новой версией и версией на моей рабочей копии с помощью svn
аргументы командной строки.
есть ли способ для меня сделать это?
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
: последние изменения в репозитории. ЭквивалентноBASE
iff С тех пор никаких изменений не было совершено<file>
был проверен / обновлен как рабочую копию.