tortoise tag subversion desvincular descartar create carpeta cambios branches svn tortoisesvn externals

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