Index: /CKReleaser/trunk/_source/includes/ckreleaser.js
===================================================================
--- /CKReleaser/trunk/_source/includes/ckreleaser.js	(revision 5424)
+++ /CKReleaser/trunk/_source/includes/ckreleaser.js	(revision 5425)
@@ -15,14 +15,5 @@
 	revisionNumber : 0,
 
-	timestamp : ( function()
-	{
-		var time = new Date();
-
-		var timestamp = Integer.toString( time.getUTCFullYear() % 1000, 36 )
-				+ Integer.toString( time.getUTCMonth(), 36 ) + Integer.toString( time.getUTCDate(), 36 )
-				+ Integer.toString( time.getUTCHours(), 36 );
-
-		return timestamp.toUpperCase();
-	} )(),
+	timestamp : 0,
 
 	load : function( className )
Index: /CKReleaser/trunk/_source/includes/releaser.js
===================================================================
--- /CKReleaser/trunk/_source/includes/releaser.js	(revision 5424)
+++ /CKReleaser/trunk/_source/includes/releaser.js	(revision 5425)
@@ -263,5 +263,5 @@
 		packagerRemove : Pattern.compile( '(?m-s:^.*?%REMOVE_START%).*?(?m-s:%REMOVE_END%.*?$)', Pattern.DOTALL ),
 		packagerRemoveLine : Pattern.compile( '.*%REMOVE_LINE%.*(?:\\r\\n|\\r|\\n)?' ),
-		packagerRev : Pattern.compile( '.*Revision: (\\d+).*', Pattern.DOTALL )
+		packagerRev : Pattern.compile( '.*Last.*?Rev.*?: (\\d+).*', Pattern.DOTALL )
 	};
 
@@ -293,37 +293,4 @@
 		if ( text.indexOf( "%REV%" ) != -1 )
 		{
-			if ( !CKRELEASER.revisionNumber )
-			{
-				try
-				{
-					var o =
-					{
-							output : ""
-					};
-
-					runCommand( "svn", "info", CKRELEASER.sourceDir, o );
-
-					if ( o.output.indexOf( "Revision:" ) != -1 )
-					{
-						CKRELEASER.revisionNumber = regexLib.packagerRev.matcher( o.output ).replaceAll( '$1' );
-					}
-					else
-					{
-						if ( o.output.indexOf( "not a working" ) != -1 )
-							print( "\nWARNING: Unable to fetch the revision number, source directory is not under version control: "
-									+ CKRELEASER.sourceDir );
-						else
-							print( "\nWARNING: Unable to fetch the revision number, make sure that Subversion's bin directory is in your system path." );		
-					}
-				}
-				catch( e )
-				{
-					print( "\nWARNING: Unable to run \"svn\" command to get the revision number, make sure that Subversion is installed and that Subversion's bin directory is in your system path." );
-				}
-				
-				if ( !CKRELEASER.revisionNumber )
-					CKRELEASER.revisionNumber = "UNKNOWN";
-			}
-
 			text = text.replace( /%REV%/g, CKRELEASER.revisionNumber );
 
@@ -479,4 +446,51 @@
 			}
 
+			if ( !CKRELEASER.revisionNumber )
+			{
+				try
+				{
+					var o =
+					{
+							output : ""
+					};
+
+					runCommand( "svn", "info", CKRELEASER.sourceDir, o );
+
+					if ( o.output.indexOf( "Revision:" ) != -1 )
+						CKRELEASER.revisionNumber = parseInt( regexLib.packagerRev.matcher( o.output ).replaceAll( '$1' ) );
+					else
+					{
+						if ( o.output.indexOf( "not a working" ) != -1 )
+							print( "\nWARNING: Unable to fetch the revision number, source directory is not under version control: "
+									+ CKRELEASER.sourceDir );
+						else
+							print( "\nWARNING: Unable to fetch the revision number, make sure that Subversion's bin directory is in your system path." );
+					}
+				}
+				catch( e )
+				{
+					print( "\nWARNING: Unable to run \"svn\" command to get the revision number, make sure that Subversion is installed and that Subversion's bin directory is in your system path." );
+				}
+
+				if ( !CKRELEASER.revisionNumber )
+					CKRELEASER.revisionNumber = "UNKNOWN";
+				print( CKRELEASER.revisionNumber );
+			}
+
+			if ( !CKRELEASER.timestamp )
+			{
+				var now = new Date();
+				var timestamp = Integer.toString( now.getUTCFullYear() % 1000, 36 )
+						+ Integer.toString( now.getUTCMonth(), 36 ) + Integer.toString( now.getUTCDate(), 36 )
+						+ Integer.toString( now.getUTCHours(), 36 );
+
+				if ( typeof CKRELEASER.revisionNumber == 'number' )
+					timestamp += Integer.toString( CKRELEASER.revisionNumber, 36 );
+
+				print( '\nGenerating timestamp (base36 encode of YYMMDDHH[revision_number]): ' + timestamp.toUpperCase() );
+
+				CKRELEASER.timestamp = timestamp.toUpperCase();
+			}
+
 			if ( !releaseDir.mkdirs() )
 				throw "Cannot create release directory (" + releaseDir + ")";
