33 votes

Obtenir une révision spécifique via http avec VisualSVN Server

Je suis en utilisant VisualSVN Serveur pour héberger un repo SVN, et pour certains, le travail d'automatisation, j'aimerais être en mesure d'obtenir des versions spécifiques via le protocole http[s] de la couche.

Je peux obtenir la version TÊTE simplement via un http[s] demande au serveur (httpd?) - mais est-il une possibilité de spécifier la révision, peut-être comme une chaîne de requête? Je n'arrive pas à le trouver...

Je ne veux pas faire un checkout, sauf si je peux l'aider, comme il y a beaucoup de fichiers dans le dossier spécifique, et je ne veux pas tous - juste un ou deux.

87voto

chhenni Points 969

Mieux vaut tard que jamais; https: // entier / Chemin / Vers / Dossier / fichier /? p = REV

? p = Rev spécifie la révision

7voto

grenade Points 10089

Ne sais pas si vous avez déjà trouvé la réponse à cette question, mais dans le serveur svn ordinaire sur apache, vous pouvez accéder à une révision particulière avec:

 http://host/!svn/bc/REVISION_NUMBER/path/to/file.ext
 
  • l'hôte et REVISION_NUMBER sont évidents
  • /path/to/file.ext est relatif à la racine du référentiel

Je n'ai jamais utilisé visualsvn donc votre kilométrage peut varier.

4voto

Bert Huijben Points 13856

Subversion n'a pas de documenter publiquement les Uris il utilise en interne pour accéder à cette information. (Et où il est documenté, il est expressément indiqué que cela peut changer dans les futures versions)

Pour accéder à ces informations sur le web, vous pourriez utiliser un web viewer (E. g. websvn, viewvc).

Si vous souhaitez accéder à partir de votre propre programme, vous pouvez également utiliser une liaison de client comme 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);
}

[Mise à jour 2008-12-31: l'Une des prochaines versions de Subversion va commencer à documenter les url publiques, vous pouvez utiliser pour récupérer les anciennes versions.]

2voto

Julian Reschke Points 12698

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X