2012-09-23 3 views
8

ЕслиSVN объединить предыдущую версию в рабочую копию

  • Я работаю на ветке SVN ревизию 5.
  • я внести изменения, обязуемся создать ревизии r6.
  • вернуться к r5, ​​как r6 представил проблемы, и совершает, создавая r7
  • Продолжить работу над r7, в конечном счете, совершая изменения до r10

Как объединить изменения, сделанные в r6 назад в мою работу копировать?

Я попытался

svn merge -r5:6 . 

и

svn merge -r5:HEAD . 

Оба из которых, кажется, не делать ничего. Что я делаю не так?

ответ

2

Я не слишком хорошо знаком с командной строкой svn. Но в случае, если правильное использование не даст вам результат, который вы хотите получить, это то, что я хотел бы попробовать:

  1. Создать исправление из ревизии r6 (различия между r6 и r5).
  2. Нанести на рабочую копию.
+1

Спасибо, я рассмотрел это и отправился с 'svn diff -r5: 6> patch.diff'' patch -p0 user1692222

+0

Я делаю то же самое, просто повторно примените файл diff. –

1

Попробуйте изменить версию, которая объединила первоначальный возврат.

например. Вместо svn merge -r 5: 6 попробуйте svn merge -r 7: 6.

0

Вы можете вернуться. Создайте тег. . После того, как вы закончите, вы можете объединить изменения из тега в отрасли вы работаете в

6

Если вы используете относительно недавнее освобождение СВН, вы можете использовать:

svn merge -c -6 . 


(или конкретный файл (ы) вы хотели бы вернуться, а не)
Это сокращение для «»:

svn merge -r6:5 . 

, поэтому, если вы используете более раннюю версию subversion (до версии 1.6.x), вы можете использовать этот синтаксис.

Это может ввести свойства в ваш репозиторий (svn: mergeinfo, если используется память), по крайней мере, если вы выполняете слияние по всему каталогу. возврат изменений в один файл или набор файлов не влияет на свойства. Если вы не хотите, чтобы эти свойства были добавлены в ваш репозиторий, вам может потребоваться вернуться к патчу (автоматическому или ручному).

4

Попробуйте это:

svn merge --ignore-ancestry -r5:6 . 

или используя более новый синтаксис: ""

svn merge --ignore-ancestry -c6 . 

b.t.w .: Я рекомендую всегда указывать, какие файлы вы хотите работать с вместо

+0

Это отлично работает с Subversion 1.7.19, спасибо! – iboisver

+0

Согласен, это правильный ответ на вопрос. Спасибо, Мидис. – Thibault

Смежные вопросы