Совместное использование кода в разных системах контроля версий - PullRequest
2 голосов
/ 09 сентября 2010

Продукт, над которым я работаю, имеет Mac и PC версию.Версия для ПК использует Team Foundation Server от Microsoft, а Mac использует Subversion для контроля версий.Прямо сейчас у нас есть немного общего кода между ними, и он в настоящее время живет в обеих системах и неизбежно выйдет из синхронизации.

Каковы некоторые способы автоматической синхронизации этих данных?Ни одна из команд не желает переключать системы контроля версий.

Ответы [ 4 ]

0 голосов
/ 09 сентября 2010

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

У Джоэла Спольски , нашего спонсора в StackOverflow, есть замечательное учебное пособие по Mercurial , которое отлично справляется с продажей преимуществ.

0 голосов
/ 09 сентября 2010

Вы можете попробовать какой-нибудь мост, чтобы преобразовать каждый репозиторий от одного VCS к другому:

0 голосов
/ 09 сентября 2010

Вы можете сделать это, но я бы не стал.

Вы можете перенести данные из одной системы в другую, используя такие инструменты, как tfs2svn или Своевременная миграция .В принципе, вы можете продолжать синхронизировать два репозитория.Хотя, по моему мнению, это может привести к катастрофе.

Единственные инструменты редактирования исходного кода, которые я бы смешал, - это Subversion и Git с git-svn, который используется для синхронизации локальных репозиториев git с центральной магистралью Subversion.

РЕДАКТИРОВАТЬ: Хотя я все еще думаю, что синхронизированный путь выстроен болью, похоже, что вы могли бы сделать это с Git в качестве посредника:

Существует git-tfs очень похоже на git-svn (у меня нет опыта работы с ним)

Вот сообщение в блоге , которое также может помочь.

0 голосов
/ 09 сентября 2010

Я не знаю, как именно это сделать, но я немного погуглил и обнаружил, что:

http://social.msdn.microsoft.com/Forums/en/tfsintegration/thread/c7ab2584-dd8a-43da-af9c-ff1e7f9cec41

...