Re: Re: [PEAR-DEV] VersionControl_Hg
| From: | mgatto at lisantra dot com | Date: | Wed, 12 Aug 2009 17:56:34 +0000 |
| Subject: | Re: Re: [PEAR-DEV] VersionControl_Hg | ||
| Groups: | php.pear.dev | ||
| Request: | Send a blank email to pear-dev+get-52625@lists.php.net to get a copy of this message | ||
Hi,
First, thanks for the warm welcome; I appreciate that.
@Mike Gauthier: >>Can you outline the scope of the package, and the public API on the list for
feedback?
Sure. For the first iteration, VersionControl_Hg will support:
1) exporting files in a Mercurial repository to a directory or archive.
2) Output a log for the whole repo or for specific filesets.
The use case is to be an interface to a Mercurial repository by a Php-based build tool such as Phing
or Pake.
Example usage:
include 'VersionControl/Hg.php';
$repo = new VersionControl_Hg('/path/to/repo');
//--OR--
$repo = new VersionControl_Hg();
$repo->setRepository('/path/to/repo');
$repo->export(HG::ALL)->to('/home/myself/releases/')->as(HG::ZIP);
$repo->log('Xyz.php')->from('2009-01-01')->to('now');
//--OR--
$repo->getLog()->for('Xyz.php')->from('2009-01-01')->to('now');
I've also thought about this API:
$file = new Hg_Repository_File('Xyz.php');
$file->getLog();
I would like to both do it elegantly while keeping API compatibility across the VersionControl_*
packages of which only SVN exists.
Thanks,
- Michael Gatto
Managing Director,
Lisantra Technologies, Llc
--------------------------
Web: www.lisantra.com
Office: (520) 777-9330
Fax: (866) 345-9276
Email: mgatto@lisantra.com
Skype: lisantra.technologies