Мы используем Subversion, но наш клиент использует SourceSafe. Какие у меня варианты? - PullRequest
4 голосов
/ 13 января 2009

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

EDIT:

Я не уверен, имеет ли это значение, но вероятность того, что клиент внесет изменения, мала. Если они это сделают, это будет после того, как мы закончим на 100%, что облегчает управление. Если бы мы оба вносили изменения одновременно, то я бы, вероятно, предложил бы им предоставить право записи в наше репо для их проекта, и мы управляем этим таким образом. Хотя я стараюсь быть дальновидным, потому что есть большая вероятность, что они захотят, чтобы мы вернулись и поработали с ними больше.

Ответы [ 4 ]

3 голосов
/ 13 января 2009

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

Я думаю, что так и сделаю, пока вы не примете решение о безопасности. Возможно, прежде чем вы примете решение, оно просто уйдет.

У меня был опыт с этим в прошлом. По какой-то причине компания, с которой мы работали по субподряду, использовала CVS для внутреннего использования, но SourceSafe для внешнего клиента. Я взял на себя проект и положил его в SVN. Подрядчики были довольны этим.

EDIT:

Кроме того, возможно настроить master / slave svn repo. Не уверен, поможет ли это в этой ситуации.

Другая возможность - спросить их, будут ли они размещать репозиторий svn, если вы настроили его и сначала администрировали.

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

2 голосов
/ 17 января 2009

Я работал над инструментом миграции VSS-> SVN, одной из задач которого было обеспечить поддержку обновления репозитория SVN с любыми изменениями, внесенными после определенной даты (мне пришлось сделать это, так как у нас 16 гигов VSS DB, и мигание возрастает примерно на 3 миллиона отдельных ревизий)

Итак, я делаю копию снимка базы данных VSS и использую ее для импорта, а затем через некоторое время переношу все изменения, сделанные после того, как я сделал снимок. Похоже, это было бы полезно для вас, так как вы могли бы просто импортировать изменения, сделанные вашим клиентом, в их VSS DB.

Код выпущен в репозитории SVN, но еще не собран как пакет, так как вам придется скачивать файлы из репозитория SVN и строить. Он основан на .NET, поэтому вам должно быть удобно. Также сохраняются все изменения лейбла, автора и даты.

Он размещен на CodePlex как VSS2SVN .

1 голос
/ 13 января 2009

клиент также будет вносить изменения в программу? Если это так, я бы сказал, что вы думаете, что лучше: сделайте экспорт из Subversion и поместите его в безопасный источник. Затем в любое время, когда они хотят, чтобы вы внесли изменения, вы экспортируете (или извлекаете или что-то еще) любые внесенные ими изменения и вносите эти изменения (на самом деле просто копирование поверх) извлеченной версии в Subversion. Это не красиво, но у вас не так много вариантов. Вы также можете попытаться заставить их отправить вам любые изменения, которые они вносят.

Почему необходимо хранить код в двух репозиториях?

1 голос
/ 13 января 2009

Интересно, есть ли способ использовать распределенную систему контроля версий для управления взаимодействием между двумя репозиториями? Я знаю, что Git может работать с SVN, но я не уверен, что SourceSafe.

...