Освобождаю место в моем хранилище SVN - PullRequest
7 голосов
/ 03 октября 2010

У меня есть SVN-репозиторий, размещенный на сайте freemium с максимальным размером репозитория. По мере приближения к этой емкости я узнаю о файлах, которые я зарегистрировал, и которые я могу удалить навсегда, чтобы освободить место на диске. Как мне сообщить SVN, что файл можно не только удалить, но и историю?

Ответы [ 4 ]

7 голосов
/ 04 октября 2010

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

Если это поможет, rsvndump - это инструмент для создания дампа удаленного репозитория. Благодаря этому вы сможете получить дамп хранилища в вашей локальной системе. Чтобы удалить ненужные файлы, вы можете использовать эту команду "cat xxx-svn-dump | svndumpfilter exclude $ file> new-svn-dump". Хотя при этом вы можете уменьшить размер репозитория, вы не сможете обновить оригинальный репозиторий этим содержимым.

6 голосов
/ 03 октября 2010

Посмотрите на это:

http://subversion.apache.org/faq.html#removal говорит:

Существуют особые случаи, когда вы можете уничтожить все доказательства файла или коммита.(Возможно, кто-то случайно передал конфиденциальный документ.) Это не так просто, потому что Subversion специально разработана, чтобы никогда не терять информацию.Редакции - это неизменные деревья, которые строятся друг на друге.Удаление ревизии из истории вызовет эффект домино, создаст хаос во всех последующих ревизиях и, возможно, сделает недействительными все рабочие копии.

Возможное решение в этом ответе SO:

Удалитьсодержимое файла из истории SVN

3 голосов
/ 03 октября 2010

Также вы можете удалить свою историю. Скажем, у вас есть 100 ревизий, вы можете сохранить новейшую историю, скажем, 50 ревизий. Это также может уменьшить размер вашего хранилища Subversion.

svnadmin dump /path/to/current/repo -r50:100 > newsvn.dump
# you can delete the old repo and then
svnadmin create /path/to/new/repo
svnadmin load /path/to/new/repo < newsvn.dump
1 голос
/ 03 октября 2010

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

...