[CMake] Version embedding - how to cause a command when make is run?

Juan Sanchez Juan.Sanchez at amd.com
Fri Oct 5 12:38:20 EDT 2007


How about:

 svn info file:///home/juans/svn_repository/svnroot/ | grep '^Revision:'
| sed -e 's/^[^0-9]*//'

on the repository.

Or just:

 svn info | grep '^Revision:' | sed -e 's/^[^0-9]*//'

After doing a svn update, the latest revision on the url seems to be
accurate.  Unfortunately the number seems to apply to the whole
repository.  I guess it's a good way to make sure you are up to date.

"svnlook youngest" seems to do something, but it appears to only work on
the same filesystem as the repository.


Regards,

Juan

David Cole wrote:
> How about "svn status -u" or a filtered version of "svn status -v" ....?
> 
> On 10/5/07, Atwood, Robert C <r.atwood at imperial.ac.uk> wrote:
>> I hope its okay to copy this to Subversion list, as it has veered away
>> from cmake  ...
>>
>> Alan said (on Cmake list):
>>
>>> take a concrete but simple example, suppose you have five
>>> files which all
>>> have 3 possibilities (1,2,3) for the revision number. IOW,
>>> each file changed
>>> for each revision. Then using svn update --revision you can
>>> create 3^5 = 243
>>> different combinations of revision numbers for the various
>>> source files in
>>> your source tree, and svnversion will identify all such
>>> different source
>>> trees identically.
>> I expected that sort of thing with CVS, I thought it worked differently
>> in SVN where the number is more related to the whole project than the
>> individual file. But I stand corrected.
>>
>> An actual test demonstrates that you are correct, svnversion 0:6 is
>> displayed if one of the files is back-updated to 4, and no special flag
>> is specified in svnversion output. See console log below.
>>
>>
>> David said (on Cmake list):
>>
>>> also verify that "svn status" gives you *empty*
>>> output.
>> Actually ,   'svn status' also produces empty output in this case (where
>> a file has been back-updated)  So it is not obvious that there's any
>> difference, as Alan suggested orignally.
>>
>> Thanks for the headsup!
>> Robert
>>
>>
>> [rcatwood testproj]$ svnversion
>> 0:6
>> [rcatwood testproj]$ cat *
>> $Id: FileA.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file A. Third (after propset) revision.
>> $Id: FileB.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file B. Third (after propset) revision.
>> $Id: FileC.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file C. Third (after propset) revision.
>> $Id: FileD.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file D. Third (after propset) revision.
>> $Id: FileE.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file E. Third (after propset) revision.
>> [rcatwood testproj]$
>> [rcatwood testproj]$ svn up -r 4 FileC.txt
>> U    FileC.txt
>> Updated to revision 4.
>> [rcatwood testproj]$ svnversion
>> 0:6
>> [rcatwood testproj]$ cat *
>> $Id: FileA.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file A. Third (after propset) revision.
>> $Id: FileB.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file B. Third (after propset) revision.
>> $Id: FileC.txt 4 2007-10-05 15:49:14Z rcatwood $
>> This is file C. First (after propset) revision.
>> $Id: FileD.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file D. Third (after propset) revision.
>> $Id: FileE.txt 6 2007-10-05 15:50:26Z rcatwood $
>> This is file E. Third (after propset) revision.
>> [rcatwood testproj]$
>> [rcatwood testproj]$ svn status
>> [rcatwood testproj]$
>> _______________________________________________
>> CMake mailing list
>> CMake at cmake.org
>> http://www.cmake.org/mailman/listinfo/cmake
>>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
> 
> 


-- 
Juan Sanchez
Juan.Sanchez at amd.com
800-538-8450 Ext. 54395
512-602-4395




More information about the CMake mailing list