2014-01-07 2 views

ответ

1

Вы можете отменить изменение в Subversion - даже если это не голова, используя svn merge.

Допустим, вы ревизии 100, но понял, что изменение Revision 94 имеет вопрос:

$ svn up # Make sure your working directory is up to date 
$ svn st # Make sure there are no pending changes. 
$ svn merge -c -94 . # Removes changes done in Revision #94. 

Примечание отрицательный 94. ​​-c означает изменение. С отрицательным номером версии, это то же самое, как если бы вы сказали:

$ svn merge -r 94;93 . 

Обратите внимание, что если вы не вынимая последнее изменение, вы можете иметь конфликты (вы внесли изменения в Revision # 96, который был также изменен в редакции № 94). Всегда рекомендуется иметь чистый рабочий каталог, когда вы делаете что-либо с svn merge.

Вы также можете использовать параметр --dry-run, чтобы увидеть, что было бы изменено, прежде чем вы действительно выполните обратное слияние. Это поможет вам устранить возможные конфликты и убедиться, что файлы, которые были изменены, являются теми, которые, по вашему мнению, необходимо изменить.

2

Там в несколько основных подходов в зависимости от того, насколько важно, что пересмотр будет стерт из истории:

  • Reverse изменения через svn merge, их фиксации, и двигаться дальше
  • Дамп репозитория и отредактируйте набор изменений с помощью некоторых инструментов svn dump. svndumpfilter или SvnDumpTool может работать. Гораздо больше усилий, но может стоить того, если данные были записаны с типом «записать перед чтением» - паролями, «секретными» файлами и т. Д.
  • Ждать svn obliterate. Don't hold your breath.
Смежные вопросы