Подтвердить что ты не робот

Как сравнить две версии SVN в XCode?

Есть ли способ сравнить все изменения между двумя версиями SVN в XCode?

(Я знаю, как просматривать сравнение одного файла, используя режим просмотра исходного кода XCode 4, и я знаю, как просматривать изменения, внесенные в одну ревизию в разделе репозиториев организатора.)

4b9b3361

Ответ 1

В XCode 6 вот как вы это делаете:

  • Нажмите кнопку сравнения и выберите "Сравнение". Кнопка находится в правом верхнем углу окна XCode.

    Xcode 6 comparison mode

  • Выберите версию. Элементы управления находятся в нижней части панели редактора. Xcode 6 choose revision

Ответ 2

Я не знаю, с тех пор, но в разделе репозиториев организатора xCode 4.4.1 в правом нижнем углу есть кнопка "Просмотр версии". Если вы поместите номер версии, у вас будут все изменения от этой версии до главы репозиториев.

Но вы также можете написать "1800: 1803", если вы хотите увидеть изменения, внесенные в ревизии 1801, 1802 и 1803 (т.е. сравнить версии 1800 и 1803).

Я думаю, что вы хотели.

Ответ 3

В режиме split-control с контролем источника есть элементы выбора выбора ревизии в самом низу. У обеих сторон есть этот контроль, поэтому вы можете выбрать любые произвольные фиксации для diff:

change comparison revisions

Discolsure: я тестировал это с помощью git и SVN, отлично работает!

Ответ 4

Если вы не можете найти способ сделать это с помощью Xcode, вы всегда можете использовать командную строку SVN из терминала, чтобы сделать это.

Чтобы увидеть разницу для ревизии 186 в терминальном запуске (нажмите пробел, чтобы увидеть следующую страницу в diffs или q, чтобы выйти):

svn diff -c 186 | more

Чтобы увидеть различия между версиями 179 и 186:

svn diff -r 179:186 | more

Затем вы можете скопировать script как fmdiff и вызывать FileMerge напрямую с выходом diff, например:

svn diff -c 186 --diff-cmd fmdiff

Ответ 5

Вы можете сравнить две ветки, если вы используете ветки. Я нашел его с использованием источника управления | merge и затем отмены слияния, но может быть и другой способ.

Я не знаю, можете ли вы ретроактивно создать ветвь в Xcode, но если вы создадите ветку из командной строки, я уверен, что Xcode узнает ее.

svn copy -r specificRevisionNumber:///Users/yourName/svn/yourProject/trunk file:///Users/yourName/yourProject/branches/yourProject-1.0

Надеюсь, что поможет