Obtener un archivo de Subversion

Resuelto bluegene asked hace 16 años • 19 respuestas

"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.

bluegene avatar Sep 23 '08 23:09 bluegene
Aceptado

La respuesta simple es que usted svn exportobtenga 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...

Steve Jessop avatar Sep 23 '2008 16:09 Steve Jessop

Pruebe svn exporten lugar de svn checkout. Eso funciona para archivos individuales.

El motivo de la limitación es que checkoutcrea 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.

Mnementh avatar Sep 23 '2008 16:09 Mnementh

Utilice svn cato 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.

Milan Babuškov avatar Sep 23 '2008 16:09 Milan Babuškov

Puedes hacerlo en dos pasos:

  1. Consulte un repositorio SVN vacío solo con metainformación:

    $ cd /tmp
    
    $ svn co --depth empty http://svn.your.company.ca/training/trunk/sql
    
  2. Ejecute svn uppara actualizar el archivo especificado:

    $ svn up http://svn.your.company.ca/training/trunk/sql/showSID.sql
    
Arthur Niu avatar Oct 30 '2013 18:10 Arthur Niu