Как удалить случайно помещенный большой файл (4 ГБ) из хранилища Subversion? - PullRequest
4 голосов
/ 30 октября 2009

Ну, этот файл был помещен в репозиторий по ошибке, был удален и добавлен в список игнорируемых. Однако, поскольку он существовал когда-то , мой репо теперь имеет размер> 4 ГБ, а некоторым функциям SVN требуются годы. Буду признателен за любую помощь и советы. (Я на XP, если это имеет значение)

Ответы [ 2 ]

6 голосов
/ 30 октября 2009

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

Однако у проекта есть планы когда-нибудь внедрить команду svnadmin obliterate, которая будет выполнять задачу окончательного удаления информации. (См. выпуск 516 .)

Между тем, вы можете использовать svnadmin для дампа вашего хранилища, а затем направить файл дампа через svndumpfilter (исключая неверный путь) в команду загрузки svnadmin. Подробности см. В главе 5 книги Subversion.

http://subversion.tigris.org/faq.html#removal

5 голосов
/ 30 октября 2009

Из FAQ

Как полностью удалить файл из история хранилища?

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

Проект планирует, однако, когда-нибудь реализовать команду svnadmin obliterate, которая будет выполнить задачу навсегда удаление информации. (См. выпуск 516 .)

Между тем, ваш единственный выход к svnadmin dump вашему хранилищу, тогда передать свалку svndumpfilter (исключая неверный путь) в команду svnadmin load. Увидеть Глава 5 книги Subversion для подробности об этом.

...