Как периодически копировать репозиторий SVN, не теряя целевые теги и ветки?

Как периодически копировать репозиторий SVN, не теряя целевые теги и ветки?

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

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

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

У кого-нибудь такое уже случалось?

решение1

В вопросе SO есть много правдоподобных решенийКак синхронизировать два репозитория Subversion.

Вариант, который, как вам кажется, может вам подойти, предполагает использованиеСВКчто по сути является децентрализованной версией svn.

решение2

Хоть это и довольно нетрадиционно, я верю, что выдолжениметь возможность сделать это с помощью svnadmin.

В репозитории подрядчика вы можете выполнить следующее:

svnadmin dump --incremental -r <LOWER REVISION>:<UPPER REVISION> /path/to/bad_repo > dumpfile

затем в вашем репозитории:

svnadmin load --parent contractors_stuff/ /path/to/your/repository < dumpfile

Это постепенно добавит ревизии из репозитория подрядчика в contractors_stuffкаталог в вашем реальном репозитории. Как я уже сказал, это должно работать в теории, но это определенно не предполагаемое использование этой функции. Тестирование определенно требуется сначала на непроизводственной системе, и это, вероятно, сломается, если вы внесете изменения в эту часть вашего реального репозитория.

В идеале вы бы сказали своему подрядчику взять себя в руки и установить порядок.

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

Связанный контент