I made a proposition for the ivtv project, which was accepted by them. This is 
the original text:

Hello

I use a 0.4.1 branch. dmesg displays: "ivtv:  version 0.4.1 (development svn 
snapshot revision  2839 ) loading"
For me I do not want to see the latest trunk version (this revision changes always). I want to see the last commited version for this branch. With this revision number I can easily check if there were any changes made for my specific branch http://ivtvdriver.org/trac/browser/ivtv/branches/ (2834)

I propose to use "svnversion -n -c ." (630:2834, the second value should be used) instead of "svnversion -n ." (2839) in the makefile.

When helping people it is much easier, because the used revision can be quickly checked against the latest commited change for the branch.
Help can be provided earlier, instead of the usual "do a svn update" first.

Regards
Ruud

----- Original Message ----- From: "Allan Stirling" <[EMAIL PROTECTED]>
To: "Development of mythtv" <[email protected]>
Sent: Tuesday, November 29, 2005 8:54 PM
Subject: [mythtv] SVN version info


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?

Cheers,

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

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

Reply via email to