[p4] p4DTI in Perl ?

Robert Cowham robert at vaccaperna.co.uk
Mon Jun 26 06:39:37 PDT 2006


> P4DTI does work, but it's rather clunky. I get this same 
> feeling about a lot of Perforce's utilities. The CVS to 
> ClearCase conversion utility in ClearCase is built in and is 
> very robust. The directions are written into the 
> Administrator's manual. The CVS to Perforce conversion 
> utility is a script written by a customer and maintained by 
> Perforce. The directions are a README file that is sometimes 
> light on details. I was able to do a CVS to ClearCase 
> conversion on the very first try. It took several attempts to 
> get the cvs2p4 conversion utility to work the way I wanted it.
> 
> The same is true for merging two Perforce server instances. 
> You need to request a Perl script called perfmerge2.pl to do 
> this task instead of a built in Perforce utility.
> 
> I want to emphasize that the scripts do there job. However, 
> they are rather clunky and give the feeling that Perforce is 
> still not quite complete. They leave the impression that 
> Perforce isn't yet a first class version control/CM system it 
> claims to be.

The open-ness of Perforce makes lots of things possible and traditionally
they have drawn the line at a certain point and said stuff the other side of
the line *can* be scripted and looked after by others, and therefore
*should* be (leaving them to focus on core product features). As to where
this line is drawn one we all of course have different opinions. It's a bit
like the Unix philosophy of lots of little utilities that can be strung
together with pipes etc to achieve some remarkably sophisticated processing
from simple building blocks.

The original Perforce user base tended to be pretty happy with this. As the
user base has widened, so have the expectations that more stuff is brought
into the fold and supported as core products.

In the case of conversions, I think some aspects could be better supported
and looked after.

Merging 2 servers is an example of something I wouldn't want people to be
doing very often! There are a variety of caveats, and I am quite happy for
it not to be too easy and to be done via scripts.

Ultimately the question is what features we want Perforce to implement
support as core, and what we are happy to do ourselves. It's up to us to
make sure they know what we want, and it will have some effect on the
prioritisation of releases in the future (though it is of course only one
factor in such decisions). Of course development resources are finite, and
potential enhancements are not...

Robert


More information about the perforce-user mailing list