On Mon, Apr 18, 2005 at 02:00:23PM -0700, David Wheeler wrote:
> On Apr 18, 2005, at 12:50 PM, Adrian Howard wrote:
> >Personally I prefer separate version numbers per-module, but some  
> >people don't. I've yet to read anything /really/ convincing for either  
> >side - so I'd do whatever you're comfortable with myself.
> 
> I used to do it per-module, but then I kept forgetting, between  
> releases, which modules I had updated since the last one, or which ones  
> I'd changed and needed to update again.

Ditto.  And the old CVS per-file revision number trick doesn't work with
modern versin control systems.  Subversion revision numbers are project wide.
Using SVK means revision numbers are different for everybody's checkout.
darcs doesn't even have revision numbers.

What I do now is run an "svk diff -r<revision of last release> -s | grep .pm" 
before release to see what .pm files have changed since the last release and
increment by hand.  Its clunky and time consuming for large dists such as
MakeMaker.

What I'm moving towards is what SVK does.  It has an SVK::Version module
which simply defines $SVK::VERSION.  Then in other modules you can write:

        use SVK::Version;  our $VERSION = $SVK::VERSION;

That way it will be picked up by most $VERSION scanners.  

The problem is the PAUSE/CPAN indexer will NOT run code.  It just uses a
regex.  So it will not figure out the version above.  The solution for this
looks like duplicating the per .pm version information in the META.yml file
which is what I think Module::Build already does via "provides".  I don't
know what the state of the PAUSE indexer is in reading the META.yml.

Reply via email to