A cool feature of Subversion is that you can get it to update the comments in your script automatically when you commit it. Here is an example of the header I've got on my Application.cfc script.
Repository path: $HeadURL: http://svnserver.com/svn/aliaspooryorik/trunk/Application.cfc $
Last committed: $Revision: 7 $
Last changed by: $Author: john.whish $
Last changed date: $Date: 2009-01-07 13:15:08 +0000 (Wed, 07 Jan 2009) $
ID: $Id: Application.cfc 7 2009-01-07 13:15:08Z john.whish $
Whenever I (or anyone else) update this file and commit it, the header comment is updated. This can be particularly useful when working with other developers as you can see who made the last commit without having to do a lookup to subversion. So, how do you do it?
In your script add the following comment.
Repository path: $HeadURL$
Last committed: $Revision$
Last changed by: $Author$
Last changed date: $Date$
The values wrapped in the $ signs are reserved keywords (svn:keywords). Now you need to tell subversion to replace those values as it is not enabled by default. You can do this for a whole project or for individual files if you wish.
You can set this up using the svn propset command (more info here: http://svnbook.red-bean.com/en/1.4/svn.advanced.props.special.keywords.html) or, if you are using TortoiseSVN, then follow these steps:
- Right click on the root folder of your working copy.
- Select 'properties' (Note: this is not the TortoiseSVN properties option!)
- Select the 'subversion' tab.
- Click the 'properties' button.
- In the new 'properties' dialog, select the 'New' button.
- Select 'svn:keywords' from the dropdown list.
- Enter (note that each one is on a new line)
- If you want to apply keyword substitution to all sub files and folders, tick the box titled 'Apply property recursively'
- Click 'OK'
That's it. It is worth pointing out that your file will only be updated when you do a commit so it won't be updated right away.
Alternatively if you are feeling brave you can set this up as the default. To do this you need to:
- Right click on the the root of your working copy.
- Select 'TortoiseSVN -> Settings'.
- Click the 'Edit' button labelled 'Subversion configuration file'
- Tortoise will ask you to select a text editor, Notepad.exe will do if you don't have anything better!
- Scroll down to the bootom of the file and look for the [auto-props] section.
- Just above it is a line that is commented out '# enable-auto-props = yes'. Remove the comment.
- Now add this below the [auto props] heading:
### custom keyword substition
*.cfc = svn:keywords=HeadURL Revision Author Date Id
*.cfm = svn:keywords=HeadURL Revision Author Date Id
- Save your file and that should do it for new files you create.
If you really want to get carried away then you can also specify your own keywords to be substituted!