Сохраняет ли Subversion удаленные файлы? - PullRequest
3 голосов
/ 27 апреля 2011

Я использую хранилище subversion, которое мне бесплатно предоставил щедрый сайт.Это означает, что у меня есть только 200 МБ для работы с хранилищем.Однако я не жалуюсь, потому что считаю это довольно щедрым и более чем достаточным для моих потребностей в исходном коде.

Однако я иногда использовал subversion для файлов с большим объемом памяти, просто из-за того, насколько мощна система, когда я хочу вернуться «вовремя», чтобы все уладить.Я довольно дезорганизованный человек, и наличие чего-то вроде специальной системы контроля версий, которая помогает мне сортировать вещи, действительно очень полезно.

Что меня интересует, так это то, будет ли мой репозиторий в облаке «держаться» за большой файл, который я мог по ошибке добавить в систему контроля версий.Предположим, я добавил несколько больших файлов (скажем, множество файлов размером 2 МБ в формате JPEG) в хранилище Subversion.Кроме того, я мог бы немного отредактировать их при последующем коммите, а также предоставить несколько ненужных подробных комментариев к сообщению коммита для журнала.Тогда я понимаю, что я не хочу больше ни одного из этих JPEG, и удаляю их.

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

Если это так, то я полагаю, что есть положение для удаления этих данных?Если мое репо становится раздутым с этим типом «одноразовых» данных (например, у меня заканчивается квота в 200 МБ и я все еще хочу использовать мое репо чуть больше для моих целей программирования), должен существовать некоторый способдля меня, чтобы обрезать жир?

Извините за то, что не изучил тему заранее.Уже поздно.

Ответы [ 4 ]

3 голосов
/ 27 апреля 2011

Репо обязательно сохранит данные. Правильный технический термин уничтожен. Вот ссылка , почему эта функция не существует в Subversion.

Это не произойдет и в следующих версиях 1.7 / 1.8. Дорожная карта для Subversion здесь .

Поскольку вы используете размещенную Subversion, проверьте у хоста, позволяют ли они выполнять команду svndumpfilter для удаленного выполнения на сервере.

3 голосов
/ 27 апреля 2011

Да, «удаленные» файлы все равно будут в репозитории SVN.

2 голосов
/ 27 апреля 2011

Система контроля версий прилагает большие усилия для того, чтобы вы могли вернуться в любой момент времени и чтобы все данные были доступны вам, как это было раньше, для этого конкретного номера ревизии.* Весь смысл управления версиями состоит в том, чтобы гарантировать, что ничто никогда не будет удалено или перезаписано навсегда.Таким образом, «удаление» файла только удаляет его из вашего текущего представления, но не для предыдущего просмотра;для предыдущего просмотра он все еще будет там.

Существуют способы сброса вручную и удаления ненужных элементов вручную, но они, как правило, далеки от удобства пользователя.

2 голосов
/ 27 апреля 2011

означает ли это, что даже если я удалю их из репо позже, реальное репо будет продолжать их удерживать вечно, если это необходимо для обеспечения возможности выписки?

Да

Если это так, то я полагаю, что есть положение для удаления этих данных?

Нет, нет.Однако вы можете выгрузить репозиторий в файл, отрезать ненужные вещи, перенумеровать ревизии и загрузить его обратно в новый репозиторий.Но будьте осторожны ... Существует несколько инструментов фильтрации , которые могут помочь в выполнении этой задачи.Команда называется svndumpfilter.

...