2011-12-16 2 views
3

Я создал ветвь функции и совершил ее несколько раз. Мне нужно отменить некоторые файлы, как если бы я никогда не касался их в моей ветке свойств. Другими словами, я не хочу реинтегрировать их обратно.SVN Как вернуть изменения из ветви признака

Как я могу это сделать?

ответ

3

Если я правильно понял, ваша ситуация выглядит следующим образом:

  1. Вы создали признаки ветви:

    $ svn cp ^/trunk/ ^/branches/feature 
    
  2. Вы сделали некоторую работу над ^/branches/feature и совершил.

    $ ... work, work, work ... 
    $ svn ci 
    
  3. Теперь вы хотите отменить некоторые изменения.
    Итак, сделайте обратное слияние.
    Во-первых, проверьте, какие изменения вы хотите отменить с помощью svn log:

    In your featured branch working copy: 
    $ svn log -v 
    ----------------------------------- 
    r234 ... 
    Changed paths: 
    M /branches/featured/file.c  
    
    Implemented a feature 
    ----------------------------------- 
    
  4. Reverse-слияние конкретную ревизию (ы). Обратите внимание на - до пересмотра:

    $ svn merge -c -234 . 
    
  5. Воссоединительного к стволу:

    In the trunk working copy: 
    $ svn merge --reintegrate ^/branches/feature . 
    
+0

Это именно то, что мне нужно! Но я не могу вернуть всю фиксацию. Всего один файл в нескольких коммитах. Другое дело, почему не удается просто отменить изменения с черепаховым SVN, так это то, что я переименовал ветвь функции. – dmiandre

+0

@dmiandre, вы можете свернуть слияние конкретных файлов: $ svn merge -c -234 path/to/file – Paker

0

Если вы выполняете слияние из одной ветки в другую, вы будете сливать различия, которые произошли в первой ветви. Если вы не коснулись файлов, для них не будет различий, поэтому не будет части реинтеграции, затрагивающей эти файлы. Так что нет, вам ничего не нужно возвращать. Выполнение revert отменяет изменения, выполненные вами в рабочей копии на клиенте, и не имеет ничего общего с филиалами или репозиторием.

+0

Да, и мне нужна аналог команды REVERT, который работает с репозиторием и будет возвращать некоторые файлы в функции ветви в состояние, в котором они находились в момент создания ветки признаков. – dmiandre

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