Скажем, вы принимаете какой-то код, существующий в разных версиях, без контроля версий (возможно, с некоторыми резервными копиями). Существуют ли какие-либо инструменты, которые позволяют анализировать отношения (больше, чем различия) или позволяют реконструировать историю в системе управления версиями?
Если вы загрузите его в Subversion, можете ли вы сделать лучше, чтобы обозначить лучшую версию как базовую версию, а остальные как ветки?
Вы должны были бы получить это право с самого начала? Нравится загружать резервные копии перед последними версиями?
Что, если позже вы обнаружите, что один файл в одной ветке является переименованной версией файла в другой ветке?
Цель, конечно, состоит в том, чтобы со временем объединить код с кодовой базой или использовать функциональность из разных веток, когда это уместно, при этом не нужно тратить много времени заранее, прежде чем я смогу начать работу.
(Добавлено 13 ноября) Существуют ли какие-либо системы контроля версий, которые лучше, чем Subversion для этого? т.е. поиск взаимосвязей, их создание после того, как файлы будут в системе и общая поддержка слияния?
2 ответа
Вы можете попробовать DVCS, например Bazaar, Mercurial или Git.
Инициализируйте репозиторий в каждой версии вашего кода, добавьте весь код в первую фиксацию, а затем объедините разные версии вместе в одну ветку. В DVCS каждая ветвь может быть объединена с любой другой ветвью.
Результат можно импортировать в subversion, если вы хотите сохранить различия в истории, в противном случае вы можете просто удалить информацию DVCS и проверить объединенный результат в свой SVN.
Похоже, вы хотите импортировать материал в свой репозиторий таким образом, чтобы «симулировать», как выглядела бы история, если бы она все время находилась под контролем версий (например, зафиксируйте версию 1 файла, затем версию 2). , и т.д.).
Я не думаю, что это упражнение стоит вашего времени; вместо этого, поскольку вашим приоритетом должно быть получение всего под контролем версий как можно скорее, я думаю, вам следует просто поместить весь старый код в одну папку «Архив» и импортировать ее вместе с текущим кодом. Таким образом, по крайней мере, у вас будет все это в репозитории, и вы сможете начать работу оттуда.
Не тратьте время на создание поддельных ревизий — в долгосрочной перспективе это ничего вам не даст.
Похожие вопросы
Новые вопросы
svn
Используйте этот тег для вопросов о SVN (Subversion), централизованной системе контроля версий с открытым исходным кодом, распространяемой по лицензии Apache.