Как вы включаете общий IP в несколько проектов, в то же время позволяя легко переходить? - PullRequest
0 голосов
/ 25 марта 2009

Без доступа к git и git-submodule мне нужно включить репозиторий shared-ip в два отдельных репозитория проекта, сводя к минимуму издержки ветвления. Людям в любом из этих проектов нужна возможность легко ветвиться с магистральной линии своего проекта, а также с репо с разделяемым ip. Если / когда пользователь изменяет репо shared-ip, и он готов повторно включить свои правки в основную линию своего проекта, его правки также будут регрессированы против основной линии другого проекта, чтобы гарантировать, что их правки совместимы с обоими проектами.

Я знаю, что это сравнительно легко сделать с помощью git (за исключением механизма, который обеспечивает непрерывную интеграцию в основную ветку проекта - это скрипты homebrew), но есть ли простой способ сделать это как в Subversion, так и в Bitkeeper?

EDIT: 'svn: externals' почти решает мою проблему с Subversion, но что, если внешний репозиторий не находится в Subversion.

Есть ли эквивалент для 'svn: externals' или 'git-submodule' для bitkeeper? Можно ли это сделать с помощью клиентских пост-клонов? Как?

EDIT: Хорошо. Я думаю, я понял, как это сделать. Если вам нужно вытащить общее репо ip-reuse в Subversion и BitKeeper, вам нужно иметь репо общего повторного использования в Subversion, чтобы вы могли использовать 'svn: externals', как указано в emk. Для BitKeeper вам нужно создать пост-входящий триггер, который знает, как выполнить команду извлечения с сервера subversion.

1 Ответ

1 голос
/ 25 марта 2009

В Subversion вы можете использовать Subversion externals или просто скопировать необходимый каталог в дереве Subversion:

svn cp svn+ssh://.../libs/foo/trunk svn+ssh://.../projects/bar/trunk/libs/foo

Чтобы локально изменить код, просто зафиксируйте проекты / bar / trunk / libs / foo.

Самое интересное - это слияние новых изменений из lib / foo / trunk. В этом случае вы хотите пойти дальше и выполнить обычное слияние Subversion. (Это будет проще, если вы используете Subversion 1.5 . Если вы используете Subversion 1.4, вам нужно будет применить патчи вручную.)

К сожалению, у меня нет опыта работы с BitKeeper.

...