Obtener un archivo de Subversion
"No es posible extraer un solo archivo. El mejor nivel de extracción que puede realizar es a nivel de directorio".
¿Cómo soluciono este problema cuando uso Subversion?
Tenemos esta carpeta en Subversion donde guardamos todas nuestras imágenes. Sólo quiero ver un archivo (imagen) de eso. Esta carpeta es realmente grande y tiene muchas otras cosas que no necesito ahora.
La respuesta simple es que usted svn export
obtenga el archivo en lugar de verificarlo.
Pero puede que eso no sea lo que quieres. Es posible que desees trabajar en el archivo y volver a registrarlo, sin tener que descargar GB de basura que no necesitas.
Si tiene Subversion 1.5+, realice un pago escaso:
svn checkout <url_of_big_dir> <target> --depth empty
cd <target>
svn up <file_you_want>
Para una versión anterior de SVN, podría beneficiarse de lo siguiente:
- Consulte el directorio utilizando una revisión del pasado lejano, cuando estaba menos lleno de basura que no necesita.
- Actualice el archivo que desee para crear una revisión mixta. Esto funciona incluso si el archivo no existía en la revisión que desprotegiste.
- ¡Ganancia!
Una alternativa (por ejemplo, si el directorio tiene demasiada basura procedente de la revisión en la que se creó) es hacer una copia URL->URL del archivo que desea en un nuevo lugar del repositorio (efectivamente, esta es una rama en funcionamiento). del expediente). Consulte ese directorio y haga sus modificaciones.
No estoy seguro de si luego puede volver a fusionar su copia modificada por completo en el repositorio sin una copia funcional del destino; nunca lo he necesitado. Si es así, hazlo.
De lo contrario, lamentablemente tendrá que buscar a otra persona que tenga todo el directorio verificado y pedirle que lo haga. O tal vez para cuando hayas hecho las modificaciones, el resto habrá terminado de descargarse...
Pruebe svn export
en lugar de svn checkout
. Eso funciona para archivos individuales.
El motivo de la limitación es que checkout
crea una copia de trabajo que contiene metainformación sobre el repositorio, revisión, atributos, etc. Esos metadatos se almacenan en subdirectorios denominados '.svn'. Y los archivos individuales no tienen subdirectorios.
Utilice svn cat
o svn export
.
Para eso, no necesita buscar el directorio de trabajo, pero no podrá confirmar ningún cambio que realice. Si necesita realizar cambios y confirmarlos, necesita un directorio de trabajo, pero no es necesario que lo busque por completo. Consulte la revisión donde el directorio todavía estaba/casi vacío y luego use 'svn cat' para extraer el archivo de HEAD.
Puedes hacerlo en dos pasos:
Consulte un repositorio SVN vacío solo con metainformación:
$ cd /tmp $ svn co --depth empty http://svn.your.company.ca/training/trunk/sql
Ejecute
svn up
para actualizar el archivo especificado:$ svn up http://svn.your.company.ca/training/trunk/sql/showSID.sql