[bt-devel] SVN code versioning scheme and Windows packages

Martin Gruner mg.pub at gmx.net
Sun Oct 25 13:40:39 MST 2009


Hi Eeli,

> It didn't work automatically for me. After I updated my tree to your
> change the CMakeLists.txt file read
> 
> STRING(REGEX REPLACE "[$]Revision: ([0-9]+) [$]" "\\1" SVN_REVISION
>  "$Revision: 1682 $")
> 
> I did a commit which became rev1683. Then I rebuilt, but only with make,
> not from scratch. The old rev remained there.

That is because you did not commit the CMakeLists.txt, so it has a 
LastChangedRevision (short: Revision) still of 1682. This is a problem in my 
current approach, I need to work around it. The number will (only) change if 
you commit a changed CMakeLists.txt.

The logic is that $Revision$ will be replaced by SVN with keyword substitution 
to the value of LastChangedRevision for the current file. I do not think this 
is complicated, but it is also not entirely correct as it only reflects 
revisions that also involved changes of CMakeLists.txt. The "real" last 
revison of the whole branch can probably only be determined by running SVN on 
the command line, but that does not work if SVN is not present. I am not yet 
sure what to do.

> And if it did work automatically with every commit it would become a
> problem: if the contents of the CMakeLists.txt file is changed, as you
> seem to have intended, the whole project with all files is rebuilt. For
> me it takes several minutes. This is unbearable if it happens with every
> commit.

You should definitely start using ccache!

Regards, mg


-- 

Bauplan des Lebens - längst im Gen entdeckt!
Die Wissenschaft ist stolz: Sie hat's gecheckt.
Nun ist der Bauplan als Beweis beliebt,
dass es den Architekten gar nicht gibt.

Wolf Rahn



More information about the bt-devel mailing list