Если не отредактировать историю вышестоящего репозитория (что вы можете сделать , но не должны, в этом случае), то простейший способ достижения этого:
- Отменить изменения локально
- Передать отмененные изменения
- Повторить локальные изменения
Давайте предположим, что случайный коммит был $REV
(вы можете использовать svnversion
или svn log
, чтобы узнать). Затем сделайте следующее:
svn merge -c -$REV .
svn ci -m "Revert r$REV"
Последняя строка последней команды дает вам новый номер редакции:
Committed revision $NEW_REV.
Используйте это ниже, чтобы восстановить ваши изменения локально:
svn up # Necessary if your repository has mixed revisions (e.g. due to externals).
svn merge -c $NEW_REV .
( Обычно $NEW_REV
должно быть просто $REV
+ 1.)
Готово.