Могу ли я удалить коммит в Subversion? - PullRequest
11 голосов
/ 10 сентября 2011

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

screenshot of log

Я хочу удалить коммит № 4.

Ответы [ 4 ]

11 голосов
/ 10 сентября 2011

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

5 голосов
/ 25 сентября 2011
  1. AFAICS, у вас есть не удалить r4, но объединить с r5, да?
  2. В общем, история фиксации SVN неизменна, как Siiсказал - и если у вас нет прав удалить / создать репо - вы ничего не можете сделать.

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

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

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

0 голосов
/ 10 сентября 2011

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

...