клонировать svn-репозиторий в другой svn-репозиторий - PullRequest
0 голосов
/ 22 июля 2011

У меня есть существующее хранилище CMS SVN CMS_REPO. Теперь я хочу использовать этот исходный код CMS в качестве базового исходного кода для другого проекта. Поэтому я создал пустой репозиторий SVN ABC_REPO.

У меня вопрос, как мне клонировать CMS_REPO в ABC_REPO. Я буду разрабатывать на ABC_REPO. Тем не менее, если есть какие-либо изменения в CMS_REPO, мне нужно объединить изменения и ABC_REPO. Вместо того, чтобы модифицировать источник в двух репозиториях, есть ли простой способ сделать это? Я использую TortoiseSVN. Спасибо.

Ответы [ 2 ]

1 голос
/ 22 июля 2011

Если у вас есть 2 совершенно разных хранилища, у вас есть 2 совершенно разных хранилища. Таким образом, код копируется и не имеет отношения (в терминах SVN) к оригиналу. Представьте, что ваш второй репозиторий был размещен на googlecode, вы поняли.

Это не мешает вам слиться как обычно с использованием SVN, когда svn сливается, он применяет изменения, внесенные в одну ревизию, к цели. Не имеет значения, из какого репозитория исходный код читается, поэтому вы можете с радостью использовать функциональность слияния диапазона ревизий для применения изменений в репозиториях. Что вы теряете, так это mergeinfo, поэтому вы не можете использовать 2-й код репо в качестве ответвления от 1-го, что означает, что вы не можете выполнять реинтеграцию слияний или аналогичных объектов, для которых требуется mergeinfo. (или, по крайней мере, я думаю, что я прямо здесь - вы можете попробовать и посмотреть, если я не прав!)

0 голосов
/ 22 июля 2011

Что вы можете сделать, это создать синхронизированную копию только для чтения первого хранилища с помощью инструмента svnsync.Но вы не можете зафиксировать во втором хранилище, потому что это только для чтения.Это можно сделать с помощью Hook-Scripts (post-commit-hook) для обновления второго репозитория каждый раз, когда выполняется коммит.

...