Pregunta

Estoy usando VisualSVN Server para alojar un repositorio SVN, y para algunos trabajos de automatización, me gustaría poder obtener versiones específicas a través de la capa http [s].

Puedo obtener la versión HEAD simplemente a través de una solicitud http [s] al servidor (httpd?), pero ¿hay alguna posibilidad de especificar la revisión, tal vez como una cadena de consulta? Parece que no puedo encontrarlo ...

No quiero hacer un pago a menos que pueda evitarlo, ya que hay muchos archivos en la carpeta específica y no los quiero a todos, solo uno o dos.

¿Fue útil?

Solución

Más vale tarde que nunca; https: // whole / Path / To / Folder / file /? p = REV

? p = Rev especifica la revisión

Otros consejos

No sé si ya ha encontrado la respuesta a esta pregunta pero en el servidor svn normal en apache puede obtener una revisión particular con:

http://host/svn-name/!svn/bc/REVISION_NUMBER/path/to/file.ext
  • host & amp; REVISION_NUMBER son obvias
  • /path/to/file.ext es relativo a la raíz del repositorio

Nunca he usado visualsvn, por lo que su kilometraje puede variar.

Subversion no documenta públicamente el Uris que usa internamente para acceder a esa información. (Y donde está documentado, se declara explícitamente que esto puede cambiar en futuras versiones)

Para acceder a esta información en la web, puede usar un visor web (por ejemplo, websvn, viewvc ).

Si desea acceder desde su propio programa, también puede usar un enlace de cliente como SharpSvn.

using (SvnClient client = new SvnClient())
using (FileStream fs = File.Create("c:\\temp\\file.txt"))
{
    // Perform svn cat http://svn.collab.net/svn/repos/trunk/COMMITTERS -r 23456 
    //                    > file.txt

    SvnCatArgs a = new SvnCatArgs();
    a.Revision = 23456;
    client.Cat(new Uri("http://svn.collab.net/svn/repos/trunk/COMMITTERS"), a, fs);
}

[Actualización 2008-12-31: una de las próximas versiones de Subversion comenzará a documentar las URL públicas que puede usar para recuperar versiones antiguas.]

Esto:

Uso de WebDAV en Subversion

debería ayudar.

La página de ayuda para la Interfaz Web VisualSVN sugiere utilizar una dirección formateada como una de estas:

link to r1484 commit in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/commit/r1484/

link to the current content of the trunk/context.c file in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/view/head/trunk/context.c

link to the content of trunk/context.c file at revision r2222 in the serf's project repository:
https://demo-server.visualsvn.com/!/#serf/view/r2222/trunk/context.c

Lo crucial parece ser el número de revisión del repositorio con el prefijo 'r' . Ninguna de las otras respuestas aquí mencionan eso, y usando direcciones formateadas como esta pude ver una revisión específica de un archivo fuente de nuestro servidor VisualSVN.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top