How can I automatically update Perl modules' $VERSION with Git?

Viewed 4227

Let's say, a team of programmers is doing a web application in Perl and uses git to host their code. Now they have a small problem with versioning their modules:

  • Perl::Critic and PBP both recommend a RCS-backed $VERSION variable in code
  • git explicitly recommends against using replaceable revision numbers in code (with good reasoning)

I understand why git doesn't do keyword expansion. However, I can perfectly understand the need for revision numbers for a bit of code:

  • You do need a separate versioning for each module, since you might want to use versioned use
  • You probably don't want to change those version numbers for rapidly-changing module manually

A global product version for packaging and testing can be easily implemented with tags and git describe, but I still don't see a way to introduce automatic versioning for single modules.

Do you have any solution for me?

4 Answers
Related