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
] )
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.
이 함수는 실험적입니다. 이 함수의 작동, 함수의 이름, 그리고 관련된 모든 문서는 이후의 PHP 릴리즈에서 예고 없이 변경할 수 있습니다. 이 함수의 사용에 관한 것은 사용자 책임입니다.
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.