Любые инструменты для анализа расходящихся кодов, получить его в sourcecontrol (Subversion) - PullRequest
0 голосов
/ 11 ноября 2009

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

Если вы загрузите его в Subversion, можете ли вы сделать так, чтобы лучшая версия была обозначена как базовая, а остальные - как ветви?

Вы бы поняли это с самого начала? Как загрузка резервных копий перед последними версиями?

Что если позже вы обнаружите, что один файл в одной ветви является переименованной версией файла в другой ветви?

Цель, конечно, состоит в том, чтобы объединить кодовую базу с течением времени или использовать функции из разных веток, когда это уместно, и при этом не нужно тратить много времени заранее, прежде чем я смогу начать работу.

(добавлено 13 ноября) Существуют ли системы контроля версий, которые лучше, чем Subversion для этого? То есть поиск связей, создание их после того, как файлы находятся в системе и общая поддержка слияния?

Ответы [ 2 ]

1 голос
/ 11 ноября 2009

Звучит так, как будто вы хотите импортировать материал в свой репозиторий таким образом, чтобы «имитировать», как бы выглядела история, если бы она все время находилась под контролем версий (например, зафиксировать версию 1 файла затем версия 2 и т. д.).

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

Не тратьте свое время на создание поддельных ревизий & mdash; это ничего не даст вам в долгосрочной перспективе.

0 голосов
/ 11 ноября 2009

Вы можете попробовать DVCS, например, Bazaar, Mercurial или Git.

Инициализируйте репо в каждой версии вашего кода, добавьте весь код в первый коммит, затем объедините разные версии в одну ветку. В DVCS каждая ветвь может быть объединена с любой другой ветвью.

Результат может быть импортирован в Subversion, если вы хотите сохранить различия в истории, в противном случае вы можете просто удалить информацию DVCS и проверить объединенный результат в вашем SVN.

...