Мы используем Subversion, но наш клиент использует SourceSafe. Какие у меня варианты?

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

РЕДАКТИРОВАТЬ:

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


person Community    schedule 13.01.2009    source источник


Ответы (4)


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

Думаю, я буду так поступать, пока вы не примете решение о безопасности. Может быть, прежде чем вам придется принять решение, оно просто уйдет.

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

РЕДАКТИРОВАТЬ:

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

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

В общем, для решения этой проблемы, вероятно, лучше всего поговорить с клиентом. Посмотрите, какие идеи вы можете придумать. Поддерживать два АКТИВНЫХ репозитория - не лучшая идея.

person Tim    schedule 13.01.2009
comment
Как только они увидят свет? Git не упоминался, не так ли? ;) - person pmr; 10.07.2009
comment
смешной. Я думаю, что git предстоит пройти долгий путь в плане пользовательского интерфейса и простоты использования, прежде чем его примут на вооружение сторонники безопасного исходного кода. Вы просите ДВЕ компании изменить репозиторий, а не только одну. Это большой скачок. В любом случае я бы, наверное, предпочел меркуриал git. - person Tim; 10.07.2009

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

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

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

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

person gbjbaanb    schedule 17.01.2009

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

person Zoredache    schedule 13.01.2009
comment
Это кажется хорошим подходом; сторона с исходным кодом, вероятно, должна быть вручную (или прочитана / написана из пользовательского скрипта) - person Jason S; 17.01.2009

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

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

person Ryan Guill    schedule 13.01.2009