I was wondering if there are any source control systems that allow administrators to define custom keywords which are replaced on check in with different behaviours (i.e. similar to $Id$ or $Author$ etc.)
I'm only familiar with SVN and CVS which have a set list of keywords, but there would be applications for something like $LineNo$ or $MyLicenceText$. I'm sure there would be other use cases. The idea would be to create a plugin architecture where the behaviour of a keyword could be defined or modified.
So my question is - is there a tool (commerical or open source) that already has something like that?
Edit: Doing it as a part of the build is a valid way of solving the problem, however would cause issues if a developer did not do a build prior to check-in. Imagine for something like $LineNo$, if the build was not in sync with the source exactly, the value could easily be incorrect. For keywords with more static behaviour though (like $MyLicenceText$) replacement on build is a valid solution.