Index: /CKReleaser/trunk/_source/ckreleaser.js
===================================================================
--- /CKReleaser/trunk/_source/ckreleaser.js	(revision 3372)
+++ /CKReleaser/trunk/_source/ckreleaser.js	(revision 3373)
@@ -67,11 +67,9 @@
 CKRELEASER.targetDir = arguments[2];
 CKRELEASER.version = arguments[3];
-CKRELEASER.zipName = arguments[4];
-CKRELEASER.targzName = arguments[5];
+CKRELEASER.fileName = arguments[4];
 
-if ( !CKRELEASER.releaseFile || !CKRELEASER.sourceDir || !CKRELEASER.targetDir || !CKRELEASER.version || !CKRELEASER.zipName
-		|| !CKRELEASER.targzName )
+if ( !CKRELEASER.releaseFile || !CKRELEASER.sourceDir || !CKRELEASER.targetDir || !CKRELEASER.version || !CKRELEASER.fileName )
 {
-	error( '\nUsage: ' + command + ' release_file source_dir target_dir version zip_name targz_name [-v]' +
+	error( '\nUsage: ' + command + ' release_file source_dir target_dir version file_name [-v]' +
 			'\n' +
 			'\n release_file    Path to CKReleaser configuration file.' +
@@ -80,6 +78,5 @@
 			'\n                 If directory already exists, CKReleaser will not start.' +
 			'\n version         The version string used to replace the %VERSION% directive.' +
-			'\n zip_name        Name of the .zip file to create.' +
-			'\n targz_name      Name of the .tar.gz file to create.' +
+			'\n file_name       Name of the file to create (without the extension).' +
 			'\n\n -v | --verbose  Enable verbose output.' +
 			'\n                 Display detailed exception information when an error occurs.');
Index: /CKReleaser/trunk/_source/includes/releaser.js
===================================================================
--- /CKReleaser/trunk/_source/includes/releaser.js	(revision 3372)
+++ /CKReleaser/trunk/_source/includes/releaser.js	(revision 3373)
@@ -224,5 +224,6 @@
 	{
 		packagerRemove : Pattern.compile( '(?m-s:^.*?%REMOVE_START%).*?(?m-s:%REMOVE_END%.*?$)', Pattern.DOTALL ),
-		packagerRemoveLine : Pattern.compile( '.*%REMOVE_LINE%.*(?:\\r\\n|\\r|\\n)?' )
+		packagerRemoveLine : Pattern.compile( '.*%REMOVE_LINE%.*(?:\\r\\n|\\r|\\n)?' ),
+		packagerRev : Pattern.compile( '.*Revision: (\\d+).*', Pattern.DOTALL )
 	};
 
@@ -230,4 +231,6 @@
 	 * %VERSION%: 
 	 *     the "version" string passed to the CKReleaser execution command.
+	 * %REV%: 
+	 *     the SVN revision number of the source directory.
 	 * %TIMESTAMP%: 
 	 *     a four characters string containing the
@@ -250,4 +253,30 @@
 			replaced = true;
 		}
+		if ( text.indexOf( "%REV%" ) != -1 )
+		{
+			var o =
+			{
+				output : ""
+			};
+
+			runCommand( "svn", "info", CKRELEASER.sourceDir, o );
+
+			if ( o.output.indexOf( "Revision:" ) != -1 )
+			{
+				var rev = regexLib.packagerRev.matcher( o.output ).replaceAll( '$1' );
+				text = text.replace( /%REV%/g, rev );
+			}
+			else
+			{
+				if ( o.output.indexOf( "not a working" ) != -1 )
+					print( "WARNING: Unable to fetch the revision number, source directory is not under version control: "
+							+ CKRELEASER.sourceDir );
+				else
+					print( "WARNING: Unable to fetch the revision number, make sure that Subversions bin directory is in your system path." );
+				text = text.replace( /%REV%/g, "UNKNOWN" );
+			}
+
+			replaced = true;
+		}
 		if ( text.indexOf( "%TIMESTAMP%" ) != -1 )
 		{
@@ -493,10 +522,10 @@
 			print( "\nCreating compressed files...\n" );
 
-			var zipFile = new File( CKRELEASER.targetDir, CKRELEASER.zipName );
+			var zipFile = new File( CKRELEASER.targetDir, CKRELEASER.fileName + ".zip" );
 			CKRELEASER.io.zipDirectory( CKRELEASER.releaseDir, zipFile, "ckeditor" );
 			print( "    Created " + zipFile.getName() + "...: " + zipFile.length() + " bytes ("
 					+ Math.round( zipFile.length() / info.size * 100 ) + "% of original)" );
 
-			var tarFile = new File( CKRELEASER.targetDir, CKRELEASER.targzName );
+			var tarFile = new File( CKRELEASER.targetDir, CKRELEASER.fileName + ".tar.gz" );
 			CKRELEASER.io.targzDirectory( CKRELEASER.releaseDir, tarFile, "ckeditor" );
 			print( "    Created " + tarFile.getName() + ": " + tarFile.length() + " bytes ("
