Перевірте різницю щодо файлу на сервері


76

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

Чи є для мене спосіб зробити це?


Відповіді:


118

Робоча копія є версією BASE. Останньою копією зі сховища є редакція HEAD. Це порівняє вашу робочу копію з версією HEAD:

svn diff -r HEAD <file>

Насправді це буде виплескувати зміни в зворотному напрямку, тобто він розповість вам, як перейти від HEAD до BASE. Тож технічно ви хочете:

svn diff -r BASE:HEAD <file>

Чи можете ви пошкодувати натискання клавіш? Тільки ви та ваше божество знаєте цю відповідь.


9
Файл робочої копії може відрізнятися від базового (якщо у вас є локальні модифікації файлу). Ви повинні усвідомити, що він відрізняє файл без локальних модифікацій на сервері.
Sander Rijken

Пізніше відповідь стосується оригінального питання про різні локальні модифікації HEAD
Chadwick

3
BASE не є робочою копією, див. Svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html
Aaron J Lang

17

Різниця між робочою копією та 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>виїзду / оновлення як робочої копії .
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.