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 — Returns the contents of a file in a repository
$repos_url
, int $revision_no
= ?
) : string
Returns the contents of the URL repos_url
to
a file in the repository, optionally at revision number
revision_no
.
repos_url
String URL path to item in a repository.
revision_no
Integer revision number of item to retrieve, default is the HEAD revision.
Returns the string contents of the item from the repository on
success, and false
on failure.
Această funcție este EXPERIMENTALĂ. Comportamentul acestei funcții, denumirea sa și orice alte aspecte documentate în privința acestei funcții pot să fie modificate fără preaviz într-o versiune viitoare a PHP. Utilizați această funcție la propriul risc.
Example #1 Basic example
This example retrieves the contents of a file at revision 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.