subversion: слияние без рабочей копии

Я хочу вернуть плохую фиксацию из командной строки svn. Обычный совет-отменить слияние фиксации в рабочую копию, а затем зафиксировать изменения. В моем случае плохая фиксация была неправильно набрана svn import который разгромил часть моего репозитория, который я больше нигде не проверял. Я мог бы проверить затронутые каталоги, а затем последовать обычному совету, но было бы более элегантно, если бы я мог полностью объединить их с помощью URL-адресов без рабочей копии. Заключаться в следующем возможно?

1 ответов


нет, вы не можете просто слиться через URL, потому что это означало бы слияние, даже не видя результирующего слияния-очень плохая практика.

есть ситуация, когда это было бы неплохо:

  • кто-то сделал ужасное и массовое изменение в редакции 455, текущей версии. Вы можете легко восстановить репозитария до версии 454, не беспокоясь слишком много. Не нужно видеть, каким будет конечный результат.
представьте себе это:
  • кто-то сделал ужасные и массовые изменения в редакции 455. Текущая ревизия сейчас 460. Теперь в Subversion есть пять новых изменений. Вы можете отказаться от набора изменений 455, как в предыдущем примере, но вы не получите версию 454. Вместо этого вы получаете ревизию 454 с изменениями, внесенными в редакции 456 до 460. Некоторые из этих изменений могут быть независимыми от mess revision 455. Некоторые из этих изменений могут быть вызваны изменениями, внесенными в редакцию 455.

Я понимаю, что теперь есть большой беспорядок, чтобы очистить, но причина, по которой у вас есть этот беспорядок, потому что кто-то совершил изменения через импорт svn команда без необходимости сначала проверять их перед их фиксацией. Поэтому я не рекомендую использовать SVN merge.