Как удалить содержимое папки в SVN

Мне нужно удалить содержимое папки в подрывной деятельности черепахи. Таким образом, в основном разработчик загрузил 30 гигабайт данных в ствол проекта для тестирования и теперь хочет удалить все содержимое этой папки и не сохранять эти данные для хранения.

Поэтому я бы использовал эту команду, и это правильный синтаксис: SVN удалить что-то.com/svn/prod/WHOtest/trunk

Затем зафиксировать, а затем просто заново создать папку и зафиксировать снова?

4 ответа

Svn delete будет записывать, что в какой-то момент вы больше не хотите отслеживать содержимое файла или папки. Это не удалит это из истории как бы то ни было. Есть некоторая экспериментальная работа по удалению из истории, но я не знаю статус этого. Единственный надежный способ удалить момент времени - это восстановить репозиторий svn с нуля. Теперь вы можете snvdump все до точки, предшествующей 30 ГиБ, а затем попытаться внедрить патчи после ошибочной фиксации. Я не завидую человеку, который должен это делать. Может быть, вы можете заставить человека, который сделал это, исправить вещи (при условии, что вы все еще доверяете им делать правильные вещи)

Я не думаю, что вы можете навсегда удалить содержимое через SVN. Даже если вы удалите контент, его история SVN будет всегда там.

Я думаю, вам придется вручную удалить контент с сервера.

Добавление к ответу Джейсона: svndump все до момента, когда произошел коммит 30 ГиБ

  1. Сделайте резервную копию вашего текущего хранилища

  2. svnadmin dump -r1:125 myrepo > my.dump где 125 это пересмотр до 30 ГиБ

  3. удалить и заново создать свой репозиторий

  4. svnadmin load myrepo < my.dump загрузить чистый отвал.

Не существует ни очевидного, ни чистого способа сделать это. Действительно, так называемый метод Obliterate не реализован.

Вы можете найти некоторые ответы здесь и там, хотя.

До свидания!

Другие вопросы по тегам