Using/Accessing SVN Keywords in Procedure Files

Average rating
(0 votes)

This is an example of the empty coding I use at the headers of my procedure files to allow SVN keywords to be considered at each commit cycle. Note the careful placement of spaces after the keyword: and before the $.

// Package Name
// $Author: $
// SVN History: $Revision: $ on $Date: $

This is an example of the same for an actual package after a commit cycle.

// Scroll Traces
// $Author: Jeffrey J Weimer$
// SVN History: $Revision: 1088 $ on $Date: 2009-07-08 14:55:06 -0400 (Wed, 08 Jul 2009) $

Note, for some reason, the Author keyword never has been substituted. I put it in manually for each procedure file and it stays in place. This may be a MacOS issue and/or something that I need to define somewhere in the SVN config file itself.

Here is an example of how to have the Revision string returned by a call to a function.

// About Me
 
Function/S AboutMe()
 
	string aboutme	
	aboutme = "This package is currently at development " + " $Rev: $ by $Author: $"	
	return aboutme
End

The only drawback is that,

The only drawback is that, in Windows, procedure files are locked for writing and so the version control software (e.g. TortoiseSVN) cannot update the version numbers in the procedure file headers until Igor quits.

You can't check in on OS X

You can't check in on OS X either whilst you have the procedure file open

I had not really considered

I had not really considered this for version control of procedure files already open and/or running in Igor.

An additional caveat is, you must set the SVN properties of the .ipf file itself to include the corresponding keywords (Author, Rev, Date ...). Otherwise, the information in the (text) procedure file will not be patched during a commit cycle.

--
J. J. Weimer
Chemistry / Chemical & Materials Engineering, UAHuntsville

Back to top