There is a difference how svn cat works for deleted files. For deleted file commandline `svn cat -r xxx <full_url>` will give error, but 'svn cat <full_url>@xxx` will cat file from the past.
Unfortunately this method will not cat deleted file.
(PECL svn >= 0.1.0)
svn_cat — Retorna o conteúdo de um arquivo em um repositório
Retorna o conteúdo da URL repos_url
para
um arquivo no repositório, opcionalmente com o número de revisão
revision_no
.
repos_url
Caminho da URL da sequência de caracteres para o item em um repositório.
revision_no
Número inteiro de revisão do item a ser recuperado, o padrão é a revisão HEAD.
Retorna o conteúdo da string do item do repositório em caso de
sucesso e false
em caso de falha.
Exemplo #1 Exemplo básico
Este exemplo recupera o conteúdo de um arquivo na revisão 28:
<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>
Esta função é EXPERIMENTAL. O comportamento desta função, seu nome e documentação poderão mudar sem aviso prévio em futuras versões do PHP. Use por sua conta e risco.
There is a difference how svn cat works for deleted files. For deleted file commandline `svn cat -r xxx <full_url>` will give error, but 'svn cat <full_url>@xxx` will cat file from the past.
Unfortunately this method will not cat deleted file.
Just to add to Adam's comment, when retrieving a file contents I found I got the best results using the same revision in both places every time; ie. as follows:
<?php
svn_cat ($url.'@'.$revision, $revision);
?>
The one appended to the URL is the peg revision, and the one in the second paramer is the operative revision.
This seems to cover all the bases.