This is a quick recipe that I found pretty interesting and relatively unknown.
Everyone who uses SVN knows that most repositories are set up to allow viewing of their contents via a web browser. For example, here's the trunk of WP Plugins SVN: http://plugins.svn.wordpress.org/ and here is the current trunk version of a specific file, let's say http://plugins.svn.wordpress.org/stats/trunk/readme.txt.
The Problem
However, what if you wanted to view a specific revision of a file or directory in your browser?
Let's say I wanted revision 100,000 of http://plugins.svn.wordpress.org/stats/trunk/readme.txt
Normally, on a command line, you'd do something like
svn co http://plugins.svn.wordpress.org/stats/trunk/readme.txt stats cd stats; svn up -r100000 readme.txt
or simply
svn export -r100000 http://plugins.svn.wordpress.org/stats/trunk/readme.txt
However, how would you do this in your browser? Trying something like ?r=100000 or ?revision=100000 parameters doesn't work.
The Solution
Here is the syntax to get a specific revision of a file or directory:
- Take the root of the repository (in our case, http://plugins.svn.wordpress.org)
- Append this string !svn/bc/REVISION_NUMBER right after the repository root and before the directory or file path.
Going back to our example:
- http://plugins.svn.wordpress.org/!svn/bc/100000/stats/
shows the stats directory exactly as it was at revision 100,000 and
- http://plugins.svn.wordpress.org/!svn/bc/100000/stats/trunk/readme.txt
shows our readme.txt at 100,000.
And that's how you do it, folks. Happy revisioning!
Update: this post is now sponsored by Wirefly Learn where you can find cell phone news and reviews, as well as comparisons and videos.