Quite simply you are stuck in the concept of tracking files a la sccs/rcs/cvs/svn. 3rd generation VCS doesn't track files but rather change sets. This is what you are attempting to do manually by setting $VERSION
There are rcs/cvs/svn migration tools for mercurial and git. Mercurial additionally has git to mercurial migration support. ------Original Message------ From: David Golden To: Jonas Brømsø Nielsen Cc: [email protected] Cc: [email protected] Sent: Sep 13, 2009 8:19 AM Subject: Re: how to set $VERSION throughout distribution On Sun, Sep 13, 2009 at 7:50 AM, Jonas Brømsø Nielsen <[email protected]> wrote: > I learned one lesson based on feedback from a user and that was that the > distribution number should be reflected in the main package identified by > the build file an example from Workflow: > > dist_name => 'Workflow', > dist_version_from => 'lib/Workflow.pm', That's a great point. I wrote a short article defining what I call a "well-formed distribution" -- where the distribution name is the same as a module name (with appropriate :: mangling) and the distribution version is the same as the $VERSION of the package of the same name. http://www.dagolden.com/index.php/308/packages-modules-and-distributions/ Personally, I'm of the school of setting all $VERSION the same so that they clearly indicate which *distribution* they came from. While I don't use it personally (I have my own tools/workflow), the "perl-reversion" script in Perl-Version makes this easy. Unfortunately, it's in the "examples" folder, so it isn't installed by default. http://cpansearch.perl.org/src/ANDYA/Perl-Version-1.009/examples/perl-reversion -- David Sent from my BlackBerry® smartphone with Nextel Direct Connect
