file - tutorial - tortoise svn server
¿Podemos establecer un solo archivo como externo en Subversion? (4)
¿Podemos establecer un solo archivo como externo en Subversion?
Como se mencionó en la primera respuesta, SVN Externals están documentados en el documented , y aquí se proporcionan bastantes ejemplos de sintaxis.
Además, esta nota es dada:
"Debido a que la propiedad svn: externals tiene un valor multilínea, le recomendamos que use svn propedit en lugar de svn propset".
En mi experiencia probando Tortoise SVN v1.9.6 y svn.exe v1.9.5, los resultados están documentados.
- Traer una carpeta externa con todos sus archivos funciona.
- Traer en un solo archivo desde el mismo repositorio funciona.
- Traer en un solo archivo de un repos repo diferente falla y esta limitación está documentada en el libro SVN.
Esto lleva a una solución torpe. Si controla ambos repositorios, puede clonar un archivo individual en su propia carpeta en el repositorio de origen (por Externos de un único archivo DENTRO de un repositorio), y luego lo Externa a través de los bordes de repos en el repositorio de destino al traer toda su carpeta, que contiene solo un archivo.
Los documentos para hacer esto con el cliente Tortoise SVN están en tortoisesvn.net .
No pude encontrar un buen ejemplo sobre cómo crear un archivo svn externo. Así que estoy dando un ejemplo aquí, así que puede ser útil para otros.
El formato es
svn propset svn:externals "<local file> <remote svn file>" <local dir>
Por ejemplo, siguiendo el comando
svn propset svn:externals "my.cfg https://myserver/my/svn/location/my_sample_file.cfg.template" my_folder
creará el archivo https://myserver/my/svn/location/my_sample_file.cfg.template en my_folder
como my.cfg
. Obviamente, supongo que ya tienes la carpeta my_folder
debajo de tu directorio actual, que está bajo svn.
Para SVN 1.9.4, la sintaxis es como la de una carpeta:
svn propset svn:externals <remote file> <local file>
Por ejemplo, esto creará el archivo local.txt
en el directorio actual que hace referencia a file.txt
:
svn propset svn:externals ^/trunk/path/to/file.txt local.txt
Sí, es posible con svn 1.6. Está documented en la versión de construcción nocturna del libro svn.
Pero aunque los archivos externos están funcionando, solo debes hacerlo con archivos de texto (por ahora) porque los archivos binarios no funcionarán correctamente como archivos externos.