Allan Stirling wrote:

Currently, there is no global SVN version number available. This means that it can be quite difficult for someone running SVN to be able to discover the version number he is actually running.

I've been thinking about how to get this functionality into the final executables and given the current version of SVN, there are a number of possibilities:

1. Do without. If someone is compiling for SVN, they should KNOW what revision they are running. This is the current state - The only version information kept is the ABI version and the release.

2. Checkin scripts. These would be run from the client side on a checkin. Error prone and increases dev overhead. This is the recommended method by the SVN devs, from what I can see.

3. Autogenerate a version singleton as part of the configure script.


I'm thinking about how to implement 3:

Add a header to each of the text files in Myth, with the $revision$ and/or $id$ svn keywords. These are automatically filled in by the SVN server on each checkout. For an example, look at mythtv/libs/libmythsoundtouch/SoundTouch.cpp (yes, evaluation of keywords appears to be enabled on at least some of the SVN tree)

During configure (or build), scan a specific place in all source files (head -nx) for the highest $revision$ tag. Once you've scanned all files, grab the associated date from $id$, then create locally in the build tree a .h/.cpp with a singleton version function.

Problems:

1. Requires an extra step for external resyncs (strip out the generated headers / merge / readd headers).
2. Increases build / configure time.


So, what's the general concensus? Is this something worthwhile?

Have I missed something obvious?

Type "svn info" from your checked out folder and it will tell you the revision number you are on.

Kevin

--
Looking for affordable webhosting?  http://www.sitecity.net

_______________________________________________
mythtv-dev mailing list
[email protected]
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to