Comment parcourir une ancienne révision d'un référentiel Subversion via la vue Web?

146

Je sais comment parcourir le référentiel Subversion de mon projet via son interface Web, mais il semble que je ne puisse parcourir que la dernière révision du tronc. Existe-t-il un moyen de parcourir une ancienne révision du tronc via l'interface utilisateur Web?

Je sais comment faire cela à partir de la ligne de commande, mais j'ai besoin de savoir comment le faire à l'aide d'URL, car j'intègre ces URL dans un document. Je sais aussi que je pourrais créer une balise de style svn du coffre, mais je préférerais ne pas le faire.

Ross Rogers
la source
4
subversion 1.6 a maintenant une syntaxe officielle pour ce faire. Voir ma réponse ici: stackoverflow.com/questions/686892/…
Wim Coenen

Réponses:

185

Ajoutez quelque chose comme ça à l'URL de votre référentiel:

!svn/bc/<revision_number>/

Par exemple

http://www.example.com/svnrepository/!svn/bc/3/

Alternative

D' après le commentaire de Bert Huijben :

Si votre référentiel est hébergé avec Subversion 1.6.0 ou une version ultérieure, vous pouvez utiliser example.com/svnrepository/?p=3 pour le même résultat ... Cette méthode / est / documentée. (? r = révision du fichier,? p = révision opérationnelle de l'URL). Voir les notes de publication de subversion 1.6

Seb
la source
8
Je suis absolument stupéfait que cela fonctionne ... (je viens de vérifier et c'est le cas). On m'a dit à plusieurs reprises que ce n'était pas possible. Notez que la chaîne mentionnée doit être juste après la racine du dépôt dans l'URL, vous pouvez alors placer les sous-répertoires du dépôt après elle.
rmeador
Soyez prudent avec cela: cela n'est pas officiellement pris en charge et peut changer à tout moment avec une nouvelle version. Même si c'est la même chose depuis les tout débuts de svn ...
Stefan
55
Si votre référentiel est hébergé avec Subversion 1.6.0 ou plus tard, vous pouvez utiliser example.com/svnrepository/?p=3 pour le même résultat ... Cette méthode / est / documentée. (? r = révision du fichier,? p = révision opérationnelle de l'url). Voir les notes de version de subversion 1.6
Bert Huijben
2
Tout comme un amendement à la publication de BertHuijbens, pour afficher une révision antérieure d'un dossier spécifique, vous feriez example.com/svnrepository/path/to/specific/folder/?p=3. Pour une raison ou une autre, je pensais que le? P = 3 viendrait en premier, et j'ai pensé que je
publierais
1
Le commentaire de @rmeador doit vraiment être intégré à cette réponse, ce qui est par ailleurs trompeur: vous ne vous en tenez PAS !svn/etc...à la fin de votre URL . (1) trouvez votre racine de référentiel par svn info .(2) après cet ajout /!svn/bc/<revision_number>/(3), puis ajoutez le chemin d'accès à votre répertoire ou fichier, le cas échéant.
Bob Stein
72

Ajoutez ceci à l'URL de votre référentiel:

?p=24

Exemples:

http://www.example.com/svnrepository/?p=65
http://www.example.com/svnrepository/subdir/file.html?p=42

Documentation: http://subversion.apache.org/docs/release-notes/1.6.html#historical-uris

netAction
la source
2
Excellent travail. Beaucoup plus simple que la réponse acceptée.
pmckeown
1

Cela dépend du client Web svn que vous utilisez. Dans le cas de trac (et peut-être d'autres), ajoutez simplement le paramètre rev = à la chaîne de requête.

c'est-à-dire http://trac.example.com/log/trunk/client/filename?rev=123

Kentaree
la source
3
J'ai essayé, cela n'a pas fonctionné, il a juste obtenu la révision la plus récente du fichier.
jcollum
0

Depuis le Web, vous pouvez accéder à la page SVN du référentiel et l'ajouter / après:

https://<host>/subversion/source/<revision>

par exemple:

https://app.assembla.com/spaces/myproject/subversion/source/1200
Michael Haephrati
la source
-2

L'interface Web intégrée ne permet pas de récupérer les anciennes révisions (ou toute autre information que ce que vous avez déjà vu). Vous pouvez installer un logiciel de navigation de référentiel Web tiers pour contourner cette limitation. Je n'en ai pas utilisé moi-même, donc je ne vais pas proposer de recommandations, mais je suis sûr que d'autres le feront (une recherche rapide sur Google vous aidera à en trouver aussi).

rmeador
la source
comme le note SebaGR, il est possible d'accéder à des révisions plus anciennes si vous manipulez directement l'URL. Il n'y a pas d'interface utilisateur pour faire cela cependant. C'est assez surprenant pour moi que cela soit possible du tout, car on m'a dit à plusieurs reprises que ce n'était pas le cas ...
rmeador
4
Dans Subversion 1.6.0, les arguments? P = et? R = ont été ajoutés en tant que fonctionnalité publique (et documentée).
Bert Huijben
2
1.5 n'a pas permis / ne permet pas de parcourir les révisions via l'interface WebDAV intégrée. Depuis svnbook.red-bean.com/en/1.5/svn-book.pdf :> Puis-je afficher les révisions plus anciennes? > Avec un navigateur Web ordinaire? En un mot: non. Du moins, pas avec mod_dav_svn comme seul outil.
Zach Young