Удаленные разработчики используют один репозиторий, мы будем использовать свой собственный для создания и развертывания - PullRequest
0 голосов
/ 04 октября 2010

Добрый день. вот наше требование. У нас есть команда удаленных разработчиков, которые используют свой собственный svn-репозиторий. Они фиксируют все изменения в / trunk. Мы хотим получить ночной снимок их репо и импортировать его в наш. Мы хотим создавать ветки и теги для идентификации выпусков, и мы будем создавать и развертывать их на нашей стороне.

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

Кажется, что мы хотим сделать коммит из их репо в наш, а затем иметь возможность управлять нашим репо, обычным делом. Плохая идея? Плохая реализация?

Ответы [ 3 ]

1 голос
/ 04 октября 2010

SVN - это централизованное хранилище. Он не предназначен для применения изменений в нескольких репозиториях.

С git (или mercurial, или bazaar и т. Д.) Эта модель является естественным способом работы, поэтому, если вы можете использовать один из них, сделайте это.

Если вы не можете использовать их полностью, вы все равно можете использовать git-svn в качестве слоя совместимости. Тогда ваши удаленные разработчики будут использовать git, и вы будете вносить изменения по мере необходимости.

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

Посмотрите, почему вы думаете о нескольких хранилищах. Если это связано с задержками, возможно, прокси-запись через прокси может быть лучшим решением. Если это безопасность / контроль, SVN позволяет вам достаточно хорошо управлять аутентификацией и авторизацией, особенно если вы используете хостинг через Apache.

1 голос
/ 04 октября 2010

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

Поскольку вы упоминаете, что коммиты будут происходить только с разработчиками в удаленном месте, почему бы просто не использовать один и тот же репозиторий, извлекать рабочую копию и выполнять сборки на том же самом? Если вы пытаетесь решить проблему производительности сети, вам следует использовать svnsync в сочетании с прокси-сервером записи. Приведенная ниже ссылка SO содержит подробный ответ о реализации.

Зеркальный репозиторий SVN [сквозное проксирование]

Также вы можете взглянуть на SVN edge , их дорожная карта пытается достичь чего-то похожего на то, что вы ищете.

0 голосов
/ 04 октября 2010

Я предполагаю, что вы не хотите ни расширять свой репозиторий, чтобы включить в него свою сборочную / рабочую область, либо открыть свой локальный репозиторий и заставить их зафиксировать свои изменения в вашем;предположительно, удаленная группа - это контрактный ресурс (или аналогичный), который имеет свои собственные методы работы, и вы просто хотите собрать его за одну ночь из их последней версии источника.

Вы можете сделать их хранилище внешним ресурсом для вашего, Я полагаю - по сути вы бы построили «фиктивный» проект, который имел ссылку на их - или использовали бы функцию hotcopy, чтобы сделать «живой» снимок их \ trunk и затем импортировать его в свой собственный репозиторий ...

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