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 — Devuelve el contenido de un fichero en un repositorio
Devuelve el contenido del fichero de un repositorio indicado en repos_url
,
de forma opcional se puede indicar opcionalmente el número de revisión en
revision_no
.
repos_url
La ruta URL del ítem en el repositorio (cadena).
revision_no
Número de revisión del ítem a obtener, por defecto es la última revisión (entero).
Devuelve el contenido del ítem del repositorio en caso de
éxito, y false
en caso de error.
Esta función ha sido declarada EXPERIMENTAL. Su funcionamiento, nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Utilícela bajo su propia responsabilidad.
Ejemplo #1 Ejemplo básico
Este ejemplo devuelve el contenido de un fichero en su revisión 28:
<?php
$contents = svn_cat('http://www.example.com/svnroot/calc/gui.c', 28)
?>
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.