Контроль версий, который отбрасывает старую историю - PullRequest
2 голосов
/ 19 августа 2011

Я ищу систему контроля версий, которая защищает меня от ошибок, которые я мог совершить недавно (не более недели), и отбрасывает остальные. Есть ли такая, которая делает этот вид автоматической очистки очень простым?

Кстати, я использую SVN, но я не спрашиваю, как заставить SVN сделать это, а спрашиваю, есть ли VCS, который делает это легким .

Ответы [ 2 ]

2 голосов
/ 20 августа 2011

Не подвергая сомнению ваши аргументы в пользу этого:

Вы должны быть в состоянии сделать это несколькими способами с помощью git, ниже приведен один из них:

git fast-export master --since "1 week ago" | (cd ../newrepo.git && git init . && git fast-import && git checkout)

Вы экспортируете коммиты с прошлой недели, импортируете в новый репо. Вы можете сделать это в том же репо, если хотите тоже:

git fast-export master --since "1 week ago" | (rm -rf .git && git init . && git fast-import && git checkout)

Мне нравится, как вы можете указать как 1 week ago, yesterday, now и т. Д. (http://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html) в Git для ссылки на ревизии. Это действительно позволяет легко найти нужные вам ревизии.

2 голосов
/ 20 августа 2011

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

Вот снимок экрана, иллюстрирующий мою точку зрения.

enter image description here

Повторяйте каждую неделю по мере необходимости

Самое приятное, что вы можете вернуться к этим старым репозиториям и восстановить их, когда (И ВЫ БУДЕТЕ) вы понимаете, что вам нужно что-то старше недели

...