tag - Cómo comenzar con svn: externals?
svn trunk (3)
Aquí hay algunas secciones sobre esto en el manual svnbook / TortoiseSVN:
This es la página de svnbook en svn: externos. Es el recurso más útil sobre el tema.
Éste explica cuatro maneras de incluir subproyectos en el flujo de trabajo (y en el proceso falta un quinto: enlaces simbólicos).
Y esta última es una página específica de TortoiseSVN sobre cómo importar cosas en un repositorio (no directamente relacionado con svn: externals).
Estoy buscando un tutorial sucinto y bien escrito sobre el uso de svn: externals.
Ya sé cómo usarlos de manera básica, pero quiero un buen artículo al que pueda vincular cuando responda a preguntas como esta que surgen recientemente:
¿Qué hacer con múltiples proyectos dependiendo de la misma fuente?
Lo haría yo mismo, pero no los uso con la frecuencia suficiente como para querer sacar mi cuello y escribir un tutorial sobre eso. Google fue sorprendentemente inútil con este tema.
En caso de que no quede claro a partir de los enlaces proporcionados anteriormente, la forma en que establece la propiedad svn:externals
que está vinculada a una revisión en particular (fijación), aquí está:
svn propset svn:externals "plugins -r12345 https://svn.example.com/common/plugins" extras
Eso creará un subdirectorio de plugins
en el directorio extras
y lo vinculará a la revisión 12345
de la URL SVN externa https://svn.example.com/common/plugins
.
Hay un artículo de Red Bean que sugiere usar propedit
ya que svn:externals
puede ser un valor de varias líneas. El ejemplo anterior se cambiaría de la siguiente manera para usar propedit
.
svn propedit svn:externals extras
A continuación, agregará una línea para cada enlace externo siguiendo el mismo formato que se muestra arriba para el valor.
root/repo1/proj/base/common/log.c
root/repo1/proj/base/common/log.h
root/repo1/proj/base/client
root/repo2/proj/test/base
Como se muestra arriba, queremos copiar 2 archivos y 1 directorio para repo2
Paso 1
directorio: / home / jack / repo2 / proj /
cd /home/jack
Paso 2
svn propset svn:externals "../repo1/proj/base/client proj/base/client" repo2
algo así como: ln repo1/proj/base/client repo2/proj/base/client
Paso 3
export SVN_EDITOR=vim
Etapa 4
svn propedit svn:externals repo2
vim muestra:
../repo1/proj/base/client proj / base / client
Paso 5: agrega otros dos archivos
../repo1/proj/base/client proj/base/client
../repo1/proj/base/common/log.c proj/base/common/log.c
../repo1/proj/base/common/log.h proj/base/common/log.h