7 messages in com.perforce.revml[revml] Re: [VCS] VCS patch proposal ...| From | Sent On | Attachments |
|---|---|---|
| Barrie Slaymaker | 30 Oct 2001 06:35 | |
| Barrie Slaymaker | 30 Oct 2001 12:24 | |
| PPry...@factset.com | 30 Oct 2001 14:25 | |
| Barrie Slaymaker | 31 Oct 2001 08:01 | |
| PPry...@factset.com | 01 Nov 2001 07:26 | |
| Barrie Slaymaker | 01 Nov 2001 07:48 | |
| Ed | 08 Nov 2001 12:19 |
| Subject: | [revml] Re: [VCS] VCS patch proposal and release![]() |
|---|---|
| From: | Barrie Slaymaker (barr...@slaysys.com) |
| Date: | 10/31/2001 08:01:50 AM |
| List: | com.perforce.revml |
On Tue, Oct 30, 2001 at 05:26:02PM -0500, PPry...@factset.com wrote:
Barrie Slaymaker wrote:
One thought might be to put each implementation in it's own directory with it's own Makefile.PL that ExtUtils::MakeMaker recurses on:
VCS-X.Y/ impl/ Cvs/ Makefile.PL Cvs/ foo.pm Rcs/ Makefile.PL Rcs/ foo.pm
This is how I'd stitch together a "custom" DBI with packaged DBDs, for instance.
This sounds interesting.
I should have elaborated, ExtUtils::MakeMaker is a bit inscrutable sometimes (rather more frequently to me...). Here:
VCS-X.Y/ impl/ Cvs/ Makefile.PL Cvs/ foo.pm t/ cvs_test1.t cvs_test2.t ... Rcs/ Makefile.PL Rcs/ foo.pm t/ rcs_test1.t rcs_test2.t ... Perforce/
Each implementation package could sniff out whether it's required CLI or libraries exist and write out a noop Makefile if it doesn't.
Sniffer code like this could be in Perforce/Makefile.PL, for instance:
unless ( ( 'p4 -v' || '' ) =~ /^Perforce/ ) { ExtUtils::MakeMaker::WriteEmptyMakefile; exit 0; }
As you know a VCS::Imp that is distributed outside of the VCS distribution could put this into the hash that gets passed to WriteMakefile() in its Makefile.PL:
'PREREQ_PM' => { VCS => '0.04' },
With VCP so far, I'm intentionally including all possible VCP::* modules so far to avoid sending CPAN.pm-less admins back to CPAN. In fact, very soon I plan to fatten up the normal VCP bundle by adding in most of it's prerequisites, since so many non-Perl folks seems to avoid CPAN, fumble setting it up, or sit behind some proxy firewall (SOCKS, for instance) that makes it difficult.
If (hopefully when :) "3rd party" VCP backends spring up, I'll probably add popular ones to the main tarball if their authors want to, but maybe not, time will tell. There are just too many people who avoid CPAN.pm for whatever reason. And I think that will be the case until the perl distro has some form of URL getter assimilated.
Not sure how ppm might affect this thinking...
VCS too abstracts out log file info to a "common denominator" - not necessarily the lowest and not necessarily with the intent of stuffing into another SCM system the way VCP does.
A case that's been mentioned a bit seems to be where the other SCM is the same breed at another site. Not sure how that will play out as VCP gets more use. I really like the though of RevML or VCP being used to replicate repositories, though I haven't focused on it enough to figure out if it can be done in any usable fashion.
Peter Prymmer
Thanks :). Good to see you kicking around again.
- Barrie




