Como navego em uma revisão antiga de um repositório Subversion através da visualização na web?

146

Eu sei como navegar no repositório Subversion do meu projeto através do front-end da Web, mas parece que só posso navegar na revisão mais recente do tronco. Existe uma maneira de navegar por uma revisão mais antiga do tronco através da interface do usuário da web?

Eu sei como fazer isso na linha de comando, mas preciso saber como fazer isso usando URLs, porque estou incorporando essas URLs em um documento. Eu também sei que poderia criar uma tag svn-style do tronco, mas eu preferiria não fazer isso.

Ross Rogers
fonte
4
O Subversion 1.6 agora tem uma sintaxe oficial para fazer isso. Veja minha resposta aqui: stackoverflow.com/questions/686892/…
Wim Coenen

Respostas:

185

Anexe algo assim ao URL do seu repositório:

!svn/bc/<revision_number>/

Por exemplo

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

Alternativo

Do comentário de Bert Huijben :

Se o seu repositório estiver hospedado usando o Subversion 1.6.0 ou posterior, você pode usar example.com/svnrepository/?p=3 para o mesmo resultado ... Este método / está / documentado. (? r = revisão do arquivo,? p = revisão operacional do URL). Veja as notas de versão do subversion 1.6

Seb
fonte
8
Estou absolutamente atordoado que isso funcione ... (Acabei de verificar e funciona). Já me disseram muitas vezes que não é possível. Observe que a string mencionada deve estar logo após a raiz do repositório no URL, então você pode colocar subdiretórios do repositório depois dele.
Rmeador 16/03/09
Cuidado com isso: isso não é oficialmente suportado e pode ser alterado a qualquer momento com um novo lançamento. Mesmo que tenha sido o mesmo desde os primórdios da svn ...
Stefan
55
Se o seu repositório estiver hospedado usando o Subversion 1.6.0 ou posterior, você pode usar example.com/svnrepository/?p=3 para o mesmo resultado ... Este método / está / documentado. (? r = revisão do arquivo,? p = revisão operacional do URL). Veja as notas de lançamento subversão 1.6
Bert Huijben
2
Assim como uma emenda à publicação de BertHuijbens, para visualizar uma revisão anterior de uma pasta específica, você faria example.com/svnrepository/path/to/specific/folder/?p=3. Por alguma razão ou outra, eu pensei que a p = 3 viria primeiro, e percebi que eu postar sobre ela aqui?
shmeeps
1
O comentário de @rmeador realmente precisa ser incorporado a esta resposta, o que é enganoso: você NÃO se apega !svn/etc...ao final do seu URL . (1) encontre a raiz do repositório com svn info .(2) depois disso /!svn/bc/<revision_number>/(3) e depois o caminho para o diretório ou arquivo, se houver.
22619 Bob Stein
72

Anexe isso ao URL do seu repositório:

?p=24

Exemplos:

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

Documentação: http://subversion.apache.org/docs/release-notes/1.6.html#historical-uris

netAction
fonte
2
Excelente trabalho. Muito mais simples que a resposta aceita.
Pmckeown
1

Depende do svn webclient que você está usando. No caso de trac (e talvez alguns outros), basta adicionar o parâmetro rev = à string de consulta.

ou seja, http://trac.example.com/log/trunk/client/filename?rev=123

Kentaree
fonte
3
Tentei isso, não funcionou, apenas obteve a revisão mais recente do arquivo.
Jcollum #
0

Na web, você pode acessar a página SVN do repositório e adicionar / após:

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

por exemplo:

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

A interface da web incorporada não permite recuperar revisões antigas (ou qualquer outra informação que não seja a que você já viu). Você pode instalar um software de navegação de repositório baseado na Web de terceiros para contornar essa limitação. Eu não usei nenhum, então não vou oferecer recomendações, mas tenho certeza de que outros o farão (uma rápida pesquisa no Google também ajudará você a encontrar alguns).

rmeador
fonte
como observa o SebaGR, é possível acessar revisões mais antigas se você manipular o URL diretamente. No entanto, não há interface do usuário para fazer isso. É uma surpresa para mim que isso é possível em tudo, desde que eu tenho dito repetidamente não é ...
rmeador
4
No Subversion 1.6.0, os argumentos? P = e? R = foram adicionados como recurso público (e documentado).
Bert Huijben 27/03/09
2
1.5 fez / não permite a navegação de revisão através da interface interna do WebDAV. De svnbook.red-bean.com/en/1.5/svn-book.pdf :> Posso visualizar revisões mais antigas? > Com um navegador comum? Em uma palavra: não. Pelo menos, não com mod_dav_svn como sua única ferramenta.
Zach Young