Я хотел бы видеть изменения, которые внесли мои коллеги, прежде чем я приму входящие изменения.
Таким образом, я запускаю путем получения состояния
svn st -u
... который говорит мне, что у меня есть входящее изменение
* 9803 incomingChanges.html
M 9803 localChanges.html
M * 9803 localAndIncoming.html
Я вижу то, что я изменил
svn diff localChanges.html
... но как может я разность localAndIncoming.html
показать, что было изменено, и как это отличается, чем моя рабочая копия?
К вашему сведению svn diff
дает разность на основе неизмененного файла, хранившего в .svn
каталог, не на основе живой repo версии.
Можно работать svn update
чтобы заставить подверсию делать попытку обновления (и возможно объединяться) и затем делают svn diff
, но это не так чисто, как я предполагаю, что Вы хотите.
Наконец svn diff
действительно поддерживает diffing только на repo. Пример:
svn diff svn://svnserver/repo/localChanges.html -r REV_NO
Какие значения по умолчанию к сравнению ГОЛОВЫ с переданным пересмотром.
Вы действительно не можете, пока Вы на самом деле не загружаете новую версию. Ограничения как это были одной из больших причин, почему новый тип управления исходным кодом стал популярным в последнее время. Это назвало децентрализованное управление исходным кодом.
С этой новой формой у Вас есть свой собственный локальный репозиторий, и можно затем внести изменения из основного репозитория и выполнить разность на нем, если Вам не нравятся изменения, внесенные, можно вернуться собственный репозиторий и пойти оттуда.
И да, я знаю предложение, Вы переключаетесь, продукты не оптимальное решение, но это - решение тем не менее.
С tortoisesvn (если Вы используете окна),
Вызовите окно вывода лога
Выберите главный пересмотр
Щелкните правой кнопкой по localAndIncoming.html
Выберите Compare с рабочей копией
Сделайте другой контроль в новой папке.
cd ..
svn checkout /path/to/repo clean_working_copy
Если Вы снова используете clean_working_copy, не забывают обновлять прежде
svn update clean_working_copy
Затем сравните свой файл с тем от clean_working_copy
diff your_working_copy/localAndIncoming.html clean_working_copy/localAndIncoming.html
Или с Вашей предпочтенной разностью с 3 путями (моя - kdiff3),
kdiff3 --L1 Base --L2 theirs --L3 mine your_working_copy/.svn/text-base/localAndIncoming.html clean_working_copy/localAndIncoming.html your_working_copy/localAndIncoming.html
Я верю тому, в чем Вы нуждаетесь:
svn diff -rBASE:HEAD