Domanda

Sto usando VisualSVN Server per ospitare un repository SVN e, per alcuni lavori di automazione, mi piacerebbe poter ottenere versioni specifiche tramite il livello http [s].

Posso ottenere la versione HEAD semplicemente tramite una richiesta http [s] al server (httpd?) - ma c'è qualche possibilità di specificare la revisione, forse come una stringa di query? Non riesco a trovarlo ...

Non voglio fare un checkout se non posso aiutarlo, poiché ci sono molti file nella cartella specifica e non li voglio tutti - solo uno o due.

È stato utile?

Soluzione

Meglio tardi che mai; https: // whole / Path / To / Folder / file /? p = REV

? p = Rev specifica la revisione

Altri suggerimenti

Non so se hai già trovato la risposta a questa domanda ma nel normale server svn su apache puoi arrivare a una revisione particolare con:

http://host/svn-name/!svn/bc/REVISION_NUMBER/path/to/file.ext
  • host & amp; REVISION_NUMBER sono evidenti
  • /path/to/file.ext è relativo alla radice repo

Non ho mai usato visualsvn quindi il tuo chilometraggio può variare.

Subversion non documenta pubblicamente l'uris che utilizza internamente per accedere a tali informazioni. (E dove è documentato, si afferma esplicitamente che ciò può cambiare nelle versioni future)

Per accedere a queste informazioni sul Web è possibile utilizzare un visualizzatore Web (ad esempio websvn, viewvc ).

Se si desidera accedervi dal proprio programma, è possibile utilizzare anche un'associazione client come 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);
}

[Aggiornamento 2008-12-31: una delle prossime versioni di Subversion inizierà a documentare gli URL pubblici che è possibile utilizzare per recuperare le vecchie versioni.]

Questa:

Uso di WebDAV in Subversion

dovrebbe aiutare.

La pagina della guida per l'interfaccia Web di VisualSVN suggerisce di utilizzare un indirizzo formattato come uno di questi:

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

La cosa cruciale sembra essere il numero di revisione del repository preceduto da 'r' . Nessuna delle altre risposte qui menziona questo, e usando indirizzi formattati in questo modo sono stato in grado di visualizzare una revisione specifica di un file sorgente dal nostro server VisualSVN.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top