Как ограничить количество хранящихся историй в SVN? - PullRequest
1 голос
/ 21 апреля 2010

Например, я хочу только 3 записи определенной ветви или элемента.

Большое спасибо!

Обновление: Спасибо за ответ, ребята. Может быть, это не очень хороший вопрос. У меня есть один репозиторий фреймворка и несколько проектов, ссылающихся на фреймворк. Я обычно продолжаю работать над одним проектом, и иногда мне нужно обновить фреймворк. Тем не менее, я не хочу влиять на другие проекты из-за моих обновлений фреймворка, хотя у меня может не быть времени, чтобы обновить каждый проект еще раз при изменении фреймворка. Таким образом, решение, которое я рассмотрел, состояло в том, чтобы проверить в .dll в каждом проекте фреймворк, чтобы каждый проект мог кэшировать версию DLL, и они не сломались. Тем не менее, я не хочу, чтобы мой svn держал много проверок dll, поэтому я задаю вышеупомянутый вопрос ..... Я просто подумал, что мне, вероятно, следует хранить копию исходного кода фреймворка в каждом проекте, а не в dll. Как только я решил использовать обновленный фреймворк, я могу выполнить слияние с копией фреймворка каждого проекта. Звучит лучше.

Ответы [ 4 ]

1 голос
/ 21 апреля 2010

К сожалению нет. SVN призван быть информационной крепостью. Вы не можете ограничить его количеством x ревизий.

Это также причина, по которой вы не можете полностью или легко удалить что-либо из SVN полностью. Они надеются выпустить команду obliterate , чтобы справиться с тем, что вам не нужно сбрасывать свой репозиторий для удаления чего-либо (как при удалении полностью из репозитория), но это уже было в работе уже довольно давно. Посмотрите здесь больше информации .

1 голос
/ 21 апреля 2010

На основании вашего обновления вы должны взглянуть на svn: externals, чтобы сделать ссылку на область фреймворка из каждого проекта, который будет использовать фреймворк (dll или может быть исходным кодом). С другой стороны, вы можете хранить двоичные файлы, а SVN также будет использовать дельты. Так что это не должно быть проблемой космоса.

0 голосов
/ 29 апреля 2010

Вы можете использовать svndumpfilter для удаления определенных элементов из дампа хранилища.

0 голосов
/ 21 апреля 2010

У SVN нет встроенного способа сделать это, однако, если вы действительно хотите (не уверен, зачем это нужно), вы можете периодически запускать следующее (в этом примере я предполагаю, что ваш HEAD находится на редакции 200, то есть на 3 раньше).197):

svnadmin dump /path/to/repo -r196:200 > svn.dump
rm -rf /path/to/repo
svnadmin create /path/to/repo
svnadmin load /path/to/repo < svn.dump

Это сделает весь репозиторий, вы не можете сделать это для отдельных элементов.

...