Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Subversion Functions : svn_diff

svn_diff

Recursively diffs two paths (PECL svn:0.1-0.2)
array svn_diff ( string path1, int rev1, string path2, int rev2 )

Example 2494. Basic example

This example demonstrates the basic usage of this function, and the retrieval of contents from the stream:

<?php
list($diff, $errors) = svn_diff(
   
'http://www.example.com/svnroot/trunk/foo', SVN_REVISION_HEAD,
   
'http://www.example.com/svnroot/branches/dev/foo', SVN_REVISION_HEAD
);
if (!
$diff) exit;
$contents = '';
while (!
feof($diff)) {
 
$contents .= fread($diff, 8192);
}
fclose($diff);
fclose($errors);
var_dump($contents);
?>

The above example will output:

Index: http://www.example.com/svnroot/trunk/foo
===================================================================
--- http://www.example.com/svnroot/trunk/foo        (.../foo) (revision 23)
+++ http://www.example.com/svnroot/branches/dev/foo (.../foo) (revision 27)
// further diff output

Example 2495. Diffing two revisions of a repository path

This example implements a wrapper function that allows a user to easily diff two revisions of the same item using an external repository path (the default syntax is somewhat verbose):

<?php
function svn_diff_same_item($path, $rev1, $rev2) {
   return
svn_diff($path, $rev1, $path, $rev2);
}
?>

Example 2496. Portably diffing two local files

This example implements a wrapper function that portably diffs two local files, compensating for the realpath() fix and the backslashes bug:

<?php
function svn_diff_local($path1, $rev1, $path2, $rev2) {
   
$path1 = str_replace('\\', '/', realpath($path1));
   
$path2 = str_replace('\\', '/', realpath($path2));
   return
svn_diff($path1, $rev1, $path2, $rev2);
}
?>

Change Language


Follow Navioo On Twitter
svn_add
svn_auth_get_parameter
svn_auth_set_parameter
svn_cat
svn_checkout
svn_cleanup
svn_client_version
svn_commit
svn_diff
svn_fs_abort_txn
svn_fs_apply_text
svn_fs_begin_txn2
svn_fs_change_node_prop
svn_fs_check_path
svn_fs_contents_changed
svn_fs_copy
svn_fs_delete
svn_fs_dir_entries
svn_fs_file_contents
svn_fs_file_length
svn_fs_is_dir
svn_fs_is_file
svn_fs_make_dir
svn_fs_make_file
svn_fs_node_created_rev
svn_fs_node_prop
svn_fs_props_changed
svn_fs_revision_prop
svn_fs_revision_root
svn_fs_txn_root
svn_fs_youngest_rev
svn_import
svn_log
svn_ls
svn_repos_create
svn_repos_fs_begin_txn_for_commit
svn_repos_fs_commit_txn
svn_repos_fs
svn_repos_hotcopy
svn_repos_open
svn_repos_recover
svn_status
svn_update
eXTReMe Tracker