Wie durchsuche ich eine alte Version eines Subversion-Repositorys über die Webansicht?

146

Ich weiß, wie ich das Subversion-Repository meines Projekts über das Web-Frontend durchsuchen kann, aber anscheinend kann ich nur die neueste Version des Trunks durchsuchen. Gibt es eine Möglichkeit, eine ältere Version des Trunks über die Web-Benutzeroberfläche zu durchsuchen?

Ich weiß, wie das über die Befehlszeile gemacht wird, aber ich muss wissen, wie man das mit URLs macht, da ich diese URLs in ein Dokument einbette. Ich weiß auch, dass ich ein Tag im SVN-Stil des Trunks erstellen könnte, aber ich würde es vorziehen, das nicht zu tun.

Ross Rogers
quelle
4
Subversion 1.6 hat jetzt eine offizielle Syntax, um dies zu tun. Siehe meine Antwort hier: stackoverflow.com/questions/686892/…
Wim Coenen

Antworten:

185

Fügen Sie Ihrer Repository-URL Folgendes hinzu:

!svn/bc/<revision_number>/

Z.B

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

Alternative

Aus Bert Huijbens Kommentar :

Wenn Ihr Repository mit Subversion 1.6.0 oder höher gehostet wird, können Sie example.com/svnrepository/?p=3 für dasselbe Ergebnis verwenden ... Diese Methode / ist / dokumentiert. (? r = Revision der Datei ,? p = operative Revision der URL). Siehe die Versionshinweise zu Subversion 1.6

Seb
quelle
8
Ich bin absolut fassungslos, dass dies funktioniert ... (Ich habe es gerade überprüft und es funktioniert). Mir wurde oft gesagt, dass es nicht möglich ist. Beachten Sie, dass die angegebene Zeichenfolge direkt nach dem Repo-Stammverzeichnis in der URL stehen muss. Anschließend können Sie Unterverzeichnisse des Repos danach einfügen.
Rmeador
Seien Sie vorsichtig damit: Dies wird nicht offiziell unterstützt und kann sich mit einer neuen Version jederzeit ändern. Obwohl es seit den Anfängen von svn dasselbe war ...
Stefan
55
Wenn Ihr Repository mit Subversion 1.6.0 oder höher gehostet wird, können Sie example.com/svnrepository/?p=3 für dasselbe Ergebnis verwenden ... Diese Methode / ist / dokumentiert. (? r = Revision der Datei ,? p = operative Revision der URL). Siehe die
Versionshinweise zu
2
Genau wie eine Änderung an BertHuijbens Beitrag, um eine frühere Überarbeitung eines bestimmten Ordners anzuzeigen, würden Sie example.com/svnrepository/path/to/specific/folder/?p=3 ausführen. Aus irgendeinem Grund dachte ich, dass das? P = 3 zuerst kommen würde, und dachte, ich würde hier über sie
posten
1
Der Kommentar von @rmeador muss wirklich in diese Antwort aufgenommen werden, was ansonsten irreführend ist: Sie bleiben NICHT !svn/etc...am Ende Ihrer URL . (1) Suchen Sie Ihren Repository-Stamm nach svn info .(2) nach dem Anhängen /!svn/bc/<revision_number>/(3) und fügen Sie gegebenenfalls den Pfad zu Ihrem Verzeichnis oder Ihrer Datei hinzu.
Bob Stein
72

Hängen Sie dies an die URL Ihres Repositorys an:

?p=24

Beispiele:

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

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

netAction
quelle
2
Ausgezeichnete Arbeit. Viel einfacher als die akzeptierte Antwort.
pmckeown
1

Dies hängt vom verwendeten SVN-Webclient ab. Im Fall von trac (und möglicherweise einigen anderen) fügen Sie einfach den Parameter rev = zum Querystring hinzu.

dh http://trac.example.com/log/trunk/client/filename?rev=123

Kentaree
quelle
3
Versuchte dies, funktionierte nicht, es wurde nur die aktuellste Version der Datei.
JCollum
0

Über das Web können Sie zur SVN-Seite des Repositorys gehen und / danach hinzufügen:

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

beispielsweise:

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

Über die integrierte Weboberfläche können keine alten Revisionen (oder andere Informationen als die bereits gesehenen) abgerufen werden. Sie können eine webbasierte Repository-Browsersoftware von Drittanbietern installieren, um diese Einschränkung zu umgehen. Ich habe selbst keine verwendet, daher werde ich keine Empfehlungen abgeben, aber ich bin mir sicher, dass andere dies tun werden (eine schnelle Google-Suche hilft Ihnen auch dabei, einige zu finden).

rmeador
quelle
Wie SebaGR feststellt, ist es möglich, auf ältere Revisionen zuzugreifen, wenn Sie die URL direkt bearbeiten. Es gibt jedoch keine Benutzeroberfläche dafür. Es ist eine ziemliche Überraschung für mich, dass dies überhaupt möglich ist, da mir wiederholt gesagt wurde, dass es nicht ...
rmeador
4
In Subversion 1.6.0 wurden die Argumente? P = und? R = als öffentliche (und dokumentierte) Funktion hinzugefügt.
Bert Huijben
2
1.5 erlaubte / erlaubt kein Durchsuchen von Revisionen über die integrierte WebDAV-Oberfläche. Von svnbook.red-bean.com/de/1.5/svn-book.pdf :> Kann ich ältere Revisionen anzeigen ? > Mit einem normalen Webbrowser? Mit einem Wort: Nein. Zumindest nicht mit mod_dav_svn als einzigem Werkzeug.
Zach Young