Как просмотреть старую версию репозитория Subversion в веб-представлении?


146

Я знаю, как просматривать репозиторий Subversion моего проекта через веб-интерфейс, но мне кажется, что я могу просматривать только последнюю версию транка. Есть ли способ просмотреть старую версию ствола через веб-интерфейс?

Я знаю, как это сделать из командной строки, но мне нужно знать, как это сделать, используя URL-адреса, потому что я встраиваю эти URL-адреса в документ. Я также знаю, что мог бы создать тег ствола в стиле svn, но я бы предпочел не делать этого.


4
Subversion 1.6 теперь имеет официальный синтаксис для этого. Смотрите мой ответ здесь: stackoverflow.com/questions/686892/…
Вим Коенен

Ответы:


185

Добавьте что-то вроде этого в URL вашего хранилища:

!svn/bc/<revision_number>/

Например

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

альтернатива

Из комментария Берта Хейбена :

Если ваш репозиторий размещен с использованием Subversion 1.6.0 или более поздней версии, вы можете использовать example.com/svnrepository/?p=3 для того же результата ... Этот метод / документирован / задокументирован. (? r = версия файла,? p = рабочая версия URL). Смотрите примечания к выпуску Subversion 1.6


8
Я абсолютно ошеломлен, это работает ... (Я только что проверил, и это делает). Мне много раз говорили, что это невозможно. Обратите внимание, что указанная строка должна быть сразу после корня репо в URL, тогда вы можете поместить подкаталоги репо после него.
rmeador

Будьте осторожны с этим: это официально не поддерживается и может измениться в любое время с новым выпуском. Хотя это было то же самое с самого начала SVN ...
Stefan

55
Если ваш репозиторий размещен с использованием Subversion 1.6.0 или более поздней версии, вы можете использовать example.com/svnrepository/?p=3 для того же результата ... Этот метод / документирован / задокументирован. (? r = ревизия файла,? p = операционная ревизия URL). См. Примечания к выпуску Subversion 1.6
Берт Хуйбен,

2
Так же, как поправка к сообщению BertHuijbens, чтобы просмотреть прошлую версию определенной папки, вы должны сделать example.com/svnrepository/path/to/specific/folder/?p=3. По какой-то причине, я думал, что? P = 3 будет первым, и подумал, что я буду публиковать о ней здесь
shmeeps

1
Комментарий @rmeador действительно должен быть включен в этот ответ, который в противном случае вводит в заблуждение: вы НЕ придерживаетесь !svn/etc...конца своего URL . (1) найдите свой корень репозитория с помощью svn info .(2) после этого добавления /!svn/bc/<revision_number>/(3), а затем добавьте путь к вашему каталогу или файлу, если таковые имеются.
Боб Стейн


1

Это зависит от используемого вами клиента svn. В случае trac (и, возможно, некоторых других) просто добавьте параметр rev = в строку запроса.

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


3
Пробовал это, не работало, он просто получил самую последнюю версию файла.
Jcollum


0

Из Интернета вы можете перейти на страницу хранилища SVN и добавить / после нее:

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

например:

https://app.assembla.com/spaces/myproject/subversion/source/1200

-2

Встроенный веб-интерфейс не позволяет получать старые ревизии (или любую другую информацию, кроме того, что вы уже видели). Вы можете установить стороннее программное обеспечение для просмотра веб-хранилищ, чтобы обойти это ограничение. Я сам не пользовался, поэтому не собираюсь предлагать рекомендации, но уверен, что другие будут (быстрый поиск в Google поможет вам найти и некоторые).


Как отмечает SebaGR, можно получить доступ к более ранним версиям, если вы напрямую манипулируете URL. Однако пользовательского интерфейса для этого нет. Меня удивляет, что это вообще возможно, так как мне неоднократно говорили, что это не так ...
rmeador

4
В Subversion 1.6.0 аргументы? P = и? R = добавлены как открытая (и задокументированная) функция.
Берт Хуйбен

2
1.5 сделал / не позволяет просматривать ревизии через встроенный интерфейс WebDAV. От svnbook.red-bean.com/en/1.5/svn-book.pdf :> Могу ли я просмотреть более старые ревизии? > С обычным веб-браузером? Одним словом: нет. По крайней мере, не с mod_dav_svn в качестве единственного инструмента.
Зак Янг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.