VersionControl_SVNpear.php.netSimple OO wrapper interface for the Subversion command-line client.What is VersionControl_SVN?
VersionControl_SVN is a simple OO-style interface for Subversion,
the free/open-source version control system.
VersionControl_SVN can be used to manage trees of source code,
text files, image files -- just about any
collection of files.
Some of VersionControl_SVN's features:
* Full support of svn command-line client's
subcommands.
* Use of flexible error reporting provided by
PEAR_ErrorStack.
* Multi-object factory.
* Source fully documented with PHPDoc.
* Stable, extensible interface.
* Collection of helpful quickstart examples and
tutorials.
What can be done with VersionControl_SVN?
* Make your source code available to your
remote dev team or project manager.
* Build your own WYSIWYG web interface to a
Subversion repository.
* Add true version control to a content management
system!
Note: Requires a Subversion installation.
Subverison is available from
http://subversion.tigris.org/
VersionControl_SVN is tested against Subversion 1.0.4Clay Lovelessclayclay@killersoft.comyes2007-09-170.3.10.3.0alpha1alphaalphaBSD License
The 0.3.1 alpha release addresses a vast majority of open items discovered
with the VersionControl_SVN 0.3.0alpha1 release.
* Fix Bug #5020: Code-bug, missing break in switch [clay]
* Fix Bug #5099: Copy ignores source, traget and switches [clay]
* Fix Bug #9351: log does not accept the 'limit' switch [clay]
* Fix Bug #9998: Regular Expression Matching For List [clay]
* Fix Bug #11935: All checkouts are non-recursive due to a typo in SVN/Checkout.php [clay]
* Implement Feature #5021: SVN objects are not reusable [clay]
* Implement Feature #9343: Using non-english file/dir names [clay]
A new public property called 'prepend_cmd' is supported to allow environment
variables controlling things such as character encoding to be prepended to
the Subversion command execution. This was introduced in response to #9343.
NOTE: This is very likely to be among the last of PHP 4 compatible releases.
Significant refactoring is already underway for a PHP 5-only release of the
package. If significant issues are found in this release, a few more 0.3.x
releases may be made.
4.0.01.4.0b1PEARpear.php.net1.3.1XML_Parserpear.php.net1.0.10.3.10.3.0alpha1alphaalpha2004-06-09BSD License- Completed all svn subcommand packages.
0.3.0alpha10.3.0alpha1alphaalpha2004-06-09BSD License- Completed all svn subcommand packages.
0.2.2alpha10.2.2alpha1alphaalpha2004-06-06BSD License- Added in-depth parsing to List subcommand output.
- Added Propget subcomand.
- Added VERSIONCONTROL_SVN_FETCHMODE_ARRAY mode for numbered-index array output. (Currently used by List command only.)
0.2.1alpha10.2.1alpha1alphaalpha2004-04-26BSD LicenseRenamed the package from SCM_SVN to VersionControl_SVN.
0.2.0alpha10.2.0alpha1alphaalpha2004-04-25BSD LicenseRevised alpha release for PEAR Proposal.
- Reworked use of PEAR_ErrorStack throughout the package.
- Split the concept of the $options array into three seperate
arrays:
$options() - Used to set runtime options for the
VersionControl_SVN class itself.
(Associative array)
$switches() - Used to pass switches and their values
to an individual Subversion subcommand.
(Associative array)
$args() - Used to pass arguments to the Subversion
subcommands. This non-associative array
will be joined by single spaces when passed
off to the run() method.
Use for anything you would normally specify
on the command-line *outside* of switches.
- Implemented use_escapeshellcmd property, which defaults to true.
If set to false, the svn command passed to exec will NOT be
escaped. Recommended use: retain default setting of true unless
you really know what you're doing. (Thanks to Alan Knowles for
this suggestion.)
- Introduced the $shortcuts property, which contains all known
shortcuts for Subversion svn subcommands. This allows you
to pass the shortcuts to VersionControl_SVN::factory if you prefer.
- Merged VersionControl_SVN_Common into VersionControl_SVN to simplify things a bit.
(Thanks again to Alan Knowles.)
- Moved basic property assignment tasks into init() method
called by factory() and got rid of subclass constructors.
- Added parseOutput() method to VersionControl_SVN, which should be overridden
by each subclass. The parseOutput() methods will (when possible!)
parse output of successful run() calls into an associative array.
Default parseOutput result is a join() of the exec() output generated
by the run() method.
- Added checkCommandRequirements() method to VersionControl_SVN, which reads
properties from the command subclass and validates the given
$switches and $args to insure that all necessary $switches and $args
are set for proper command execution. (Thanks once again to Alan
Knowles for this recommendation.)
- Added SVN/Propdel.php and SVN/Propget.php subclasses.
0.1.00.1.0alphaalpha2004-04-14BSD LicenseInitial alpha release for PEAR Proposal.