Могу ли я удалить фиксацию в Subversion?

В результате несчастного случая я совершил дважды, потому что забыл добавить два файла. Можно ли удалить конкретную фиксацию из журнала?

screenshot of log

Я хочу удалить фиксацию № 4.

Ответ 1

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

Ответ 2

  • AFAICS у вас есть не удалять r4, но merge с r5, да?
  • В общем, история передачи SVN неизменна, как сказал Sii - и если вы не имеют прав delete/create repo - вы ничего не можете сделать.

Если вы можете удалить текущее репо и создать новое с новой историей, вы можете попробовать:

  • svnadmin dump для получения удобочитаемости (едва ли я должен сказать) репозиторий-дамп, формат grok и дамп редактирования, удаление репо, svnadmin load для воссоздания репо
  • другая идея (вместо редактирования дампа) другая SCM, который имеет мост к SVN (hg + MQ (histedit) + hg- git, f.e, будет позволяют вам получать репо и складывать/удалять набор изменений). Для замены старый репозиторий - см. п. 2 выше

Ответ 3

Почему? Пусть Subversion сохранит историю - для чего это. Заходите рано и часто. Нет необходимости стирать фиксацию # 4.

Ответ 4

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