¿Cómo se incorpora IP compartida en múltiples proyectos al mismo time que se permite una fácil ramificación?

Sin acceso a git y git-submodule, necesito incorporar un repository de IP compartida en dos repositorys de proyectos separados mientras minimizo la sobrecarga de la bifurcación. Las personas en cualquiera de los proyectos necesitan la posibilidad de derivar fácilmente el tronco principal de su proyecto al mismo time que se ramifican en el repository de ip compartida. Si / cuando el usuario modifica el repository de IP compartida y está listo para volver a incorporar sus ediciones en el tronco principal de su proyecto, sus ediciones también serán regresadas frente a la línea principal del otro proyecto para garantizar que sus ediciones sean compatibles con ambos proyectos.

Sé que esto es relativamente fácil de hacer con git (excepto por el mecanismo que hace la continuous integration en la línea principal de un proyecto, que son scripts homebrew), pero ¿hay alguna manera fácil de hacerlo en Subversion y Bitkeeper?

EDITAR: 'svn: externals' casi resuelve mi problema de subversión, pero ¿qué pasa si el repository externo no está en Subversion.

¿Hay un equivalente a 'svn: externals' o 'git-submodule' para bitkeeper? ¿Se puede hacer esto con los ganchos de clonación de correos del lado del cliente? ¿Cómo?

EDITAR: Ok. Creo que descubrí cómo hacer esto. Si necesita extraer el repository de reutilización de IP común en Subversion y BitKeeper, necesita tener el repository de reutilización común en Subversion para que pueda usar 'svn: externals' como lo indica emk. Para BitKeeper necesita crear un desencadenador posterior a la input que sepa hacer un command de extracción desde un server de subversión.

En Subversion, puede usar Subversion externos , o simplemente copyr el directory necesario en su tree de Subversion:

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

Para modificar el código de forma local, simplemente comprométete con projects / bar / trunk / libs / foo.

La parte divertida se está fusionando en nuevos cambios de lib / foo / trunk. En este caso, desea continuar y realizar una fusión de Subversion normal. (Esto será más fácil si usa Subversion 1.5 . Si está utilizando Subversion 1.4, deberá aplicar los parches manualmente).

Desafortunadamente, no tengo experiencia con BitKeeper.