Помещение существующих версий и веток проекта под контроль версий

Я единственный разработчик программного проекта. Я не использовал никакого контроля версий до сих пор. Я знаю, что могу поставить последнюю версию проекта под контроль версий. Вопрос в том, можно ли поставить более старые версии и ветки проекта под контроль версий. Если можно, то как? какое программное обеспечение для контроля версий следует использовать? (Я использую Visual Studio 2008)

Редактировать: у меня есть почти все предыдущие версии.


person Multilist    schedule 20.01.2009    source источник


Ответы (2)


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

Что бы я сделал, так это взял бы самую старую версию, поместил бы ее куда-нибудь и зафиксировал папку в системе управления версиями (она стала бы редакцией 1). Затем возьмите вторую самую старую версию, перезапишите ею первую версию на жестком диске, а затем снова зарегистрируйтесь (она станет редакцией 2 в системе управления версиями). Повторяйте, каждый раз перезаписывая следующую, новейшую версию, пока не будут возвращены все нужные версии.

Существуют хорошие бесплатные системы контроля версий. Я использую SVN (с надстройкой оболочки TortoiseSVN), и меня это вполне устраивает. С CVS тоже все в порядке, но он становится очень медленным по мере того, как проекты становятся большими.

person TheSmurf    schedule 20.01.2009
comment
Удаленные файлы будут проблемой, но я согласен. Это позволит лучше сохранить историю. - person Andy; 20.01.2009
comment
Верно, но он никак не может получить пошаговую разработку, как если бы он все это время использовал систему контроля версий. Это обязательно просто снимки, а файлы, которые ранее были удалены, можно просто удалить из самой последней ревизии. - person TheSmurf; 20.01.2009
comment
А ветки? В настоящее время у меня есть 2 ветки (без контроля версий) - person Multilist; 20.01.2009
comment
Все VCS поддерживают ветки, поэтому просто импортируйте в отдельные ветки. - person Keltia; 20.01.2009
comment
Эти 2 ветки имеют общий код, если я импортирую их отдельно, смогу ли я один раз изменить общий код. - person Multilist; 20.01.2009
comment
Это зависит от VCS. Насколько я знаю, с SVN или CVS вы не можете этого сделать. Изменения вносятся в ветку, затем сливаются с стволом (или наоборот). - person TheSmurf; 20.01.2009
comment
@Энди - удаленные файлы не должны быть проблемой. После фиксации самой старой версии удалите все из рабочей копии и вставьте вторую самую старую версию. SCM должен правильно определять, что было добавлено, изменено и удалено. - person Andrew Swan; 04.09.2009
comment
Что касается веток - вы можете сделать то же самое, что вы предложил @DannySmurf для имитации разработки: разветвите свой проект в версии, из которой, по вашему мнению, возникла ветка, извлеките эту ветку, удалите все файлы там и поместите файлы из вашего реального ветвь, затем зафиксируйте. Затем вы можете даже объединить изменения, и это будет работать так же, как если бы вы разработали его таким образом. - person Guss; 07.01.2011

Какой VCS вы должны использовать, действительно зависит от вас. Я бы порекомендовал Mercurial, так как это очень хорошая распределенная система контроля версий и довольно хорошо работает под Windows. Я не знаю, что поддерживает VS, но вы можете использовать поддерживаемую VCS (что, вероятно, означает Subversion, я думаю). TortoiseHg также доступен здесь.

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

person Keltia    schedule 20.01.2009