JavaScript Editor Javascript debugger     Website design 

Subversion Functions



This extension is EXPERIMENTAL. The behaviour of this extension -- including the names of its functions and anything else documented about this extension -- may change without notice in a future release of PHP. Use this extension at your own risk.

This extension implements PHP bindings for » Subversion (SVN), a version control system, allowing PHP scripts to communicate with SVN repositories and working copies without direct command line calls to the svn executable.


The Subversion binaries are not necessary to use this extension. However, when compiling the extension, libsvn (the Subversion headers) must be available.


Information for installing this PECL extension may be found in the manual chapter titled Installation of PECL extensions. Additional information such as new releases, downloads, source files, maintainer information, and a CHANGELOG, can be located here: »

If ./configure is having trouble finding the SVN files (for example, Subversion was installed with a different prefix directory), use ./configure --with-svn=$USR_PATH to specify the directory where the include/subversion-1/ folder is located.

The DLL for this PECL extension may be downloaded from either the » PHP Downloads page or from »


If the extension is compiled against libsvn 1.3, functions that work with working copies will fail when used on working copies created by Subversion 1.4.

Resource Types

Subversion's lower-level svn_fs_* functions make use of resources that reference local file-system repositories. They can probably be created using svn_repos_fs() and svn_fs_revision_root(). (verify?)

This extension has no resource types defined.

Predefined Constants

The constants below are defined by this extension, and will only be available when the extension has either been compiled into PHP or dynamically loaded at runtime.

Magic number (-1) specifying the HEAD revision

Constants usable with svn_auth_set_parameter()

Property for default username to use when performing basic authentication
Property for default password to use when performing basic authentication
Custom property for ignoring SSL cert verification errors

Filesystem constants

Configuration key that determines filesystem type
SVN_FS_TYPE_BDB (string)
Filesystem is Berkeley-DB implementation
Filesystem is native-filesystem implementation

Reserved property constants


Working copy status constants

svn_wc_status_none (int)
Status does not exist
svn_wc_status_unversioned (int)
Item is not versioned in working copy
svn_wc_status_normal (int)
Item exists, nothing else is happening
svn_wc_status_added (int)
Item is scheduled for addition
svn_wc_status_missing (int)
Item is versioned but missing from the working copy
svn_wc_status_deleted (int)
Item is scheduled for deletion
svn_wc_status_replaced (int)
Item was deleted and then re-added
svn_wc_status_modified (int)
Item (text or properties) was modified
svn_wc_status_merged (int)
Item's local modifications were merged with repository modifications
svn_wc_status_conflicted (int)
Item's local modifications conflicted with repository modifications
svn_wc_status_ignored (int)
Item is unversioned but configured to be ignored
svn_wc_status_obstructed (int)
Unversioned item is in the way of a versioned resource
svn_wc_status_external (int)
Unversioned path that is populated using svn:externals
svn_wc_status_incomplete (int)
Directory does not contain complete entries list

Node type constants

svn_node_none (int)
svn_node_file (int)
svn_node_dir (int)
svn_node_unknown (int)
Something Subversion cannot identify

Table of Contents

svn_add — Schedules the addition of an item in a working directory
svn_auth_get_parameter — Retrieves authentication parameter
svn_auth_set_parameter — Sets an authentication parameter
svn_cat — Returns the contents of a file in a repository
svn_checkout — Checks out a working copy from the repository
svn_cleanup — Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
svn_client_version — Returns the version of the SVN client libraries
svn_commit — Sends changes from the local working copy to the repository
svn_diff — Recursively diffs two paths
svn_fs_abort_txn — Abort a transaction, returns true if everything is ok, false othewise
svn_fs_apply_text — Creates and returns a stream that will be used to replace
svn_fs_begin_txn2 — Create a new transaction
svn_fs_change_node_prop — Return true if everything is ok, false otherwise
svn_fs_check_path — Determines what kind of item lives at path in a given repository fsroot
svn_fs_contents_changed — Return true if content is different, false otherwise
svn_fs_copy — Copies a file or a directory, returns true if all is ok, false otherwise
svn_fs_delete — Deletes a file or a directory, return true if all is ok, false otherwise
svn_fs_dir_entries — Enumerates the directory entries under path; returns a hash of dir names to file type
svn_fs_file_contents — Returns a stream to access the contents of a file from a given version of the fs
svn_fs_file_length — Returns the length of a file from a given version of the fs
svn_fs_is_dir — Return true if the path points to a directory, false otherwise
svn_fs_is_file — Return true if the path points to a file, false otherwise
svn_fs_make_dir — Creates a new empty directory, returns true if all is ok, false otherwise
svn_fs_make_file — Creates a new empty file, returns true if all is ok, false otherwise
svn_fs_node_created_rev — Returns the revision in which path under fsroot was created
svn_fs_node_prop — Returns the value of a property for a node
svn_fs_props_changed — Return true if props are different, false otherwise
svn_fs_revision_prop — Fetches the value of a named property
svn_fs_revision_root — Get a handle on a specific version of the repository root
svn_fs_txn_root — Creates and returns a transaction root
svn_fs_youngest_rev — Returns the number of the youngest revision in the filesystem
svn_import — Imports an unversioned path into a repository
svn_log — Returns the commit log messages of a repository URL
svn_ls — Returns list of directory contents in repository URL, optionally at revision number
svn_repos_create — Create a new subversion repository at path
svn_repos_fs_begin_txn_for_commit — Create a new transaction
svn_repos_fs_commit_txn — Commits a transaction and returns the new revision
svn_repos_fs — Gets a handle on the filesystem for a repository
svn_repos_hotcopy — Make a hot-copy of the repos at repospath; copy it to destpath
svn_repos_open — Open a shared lock on a repository.
svn_repos_recover — Run recovery procedures on the repository located at path.
svn_status — Returns the status of working copy files and directories
svn_update — Update working copy