gwynne Fri Oct 31 03:13:25 2008 UTC
Modified files:
/SVNROOT run-conversion.php
Log:
Various passes performed by the script are now specified in a more extensible
manner
http://cvs.php.net/viewvc.cgi/SVNROOT/run-conversion.php?r1=1.2&r2=1.3&diff_format=u
Index: SVNROOT/run-conversion.php
diff -u SVNROOT/run-conversion.php:1.2 SVNROOT/run-conversion.php:1.3
--- SVNROOT/run-conversion.php:1.2 Sun Oct 26 23:09:41 2008
+++ SVNROOT/run-conversion.php Fri Oct 31 03:13:25 2008
@@ -1,6 +1,13 @@
<?php
-$version = '$Revision: 1.2 $';
+$version = '$Revision: 1.3 $';
+
+$passes = array(
+ 'svncreate', // svnadmin create $SVNROOT
+ 'cvs2svn', // cvs2svn --options
+ 'svnrm', // svn rm $SVNROOT/*/.svn
+ 'reorg', // Reorganize repository
+);
require_once 'Console/CommandLine.php';
@@ -30,9 +37,9 @@
'short_name' => '-p',
'long_name' => '--pass',
'default' => NULL,
- 'description' => 'Which pass to run. One of: svncreate, cvs2svn, svnrm,
reorg. If not specified, all passes will run.',
+ 'description' => 'Which pass to run. One of: ' . implode(', ', $passes) .
'. If not specified, all passes will run.',
'action' => 'StoreString',
- 'choices' => array('svncreate', 'cvs2svn', 'svnrm', 'reorg')));
+ 'choices' => $passes));
try {
$result = $cmdline_parser->parse();
@@ -73,7 +80,16 @@
v(1, "PHP Group CVS->SVN respository conversion.\n");
v(1, "Started at " . date(DATE_RFC2822) . "\n");
-if (is_null($options['pass']) || $options['pass'] == 'svncreate') {
+foreach ($passes as $pass) {
+ if (is_null($options['pass']) || $options['pass'] == $pass) {
+ call_user_func('pass_' . $pass);
+ }
+}
+
+function pass_svncreate()
+{
+ global $options;
+
v(1, "Running svncreate pass...\n");
$command = "exec svnadmin create {$options['svnroot']} 2>&1";
@@ -86,7 +102,10 @@
v(3, "Output:\n" . implode("\n", $output) . "\n");
}
-if (is_null($options['pass']) || $options['pass'] == 'cvs2svn') {
+function pass_cvs2svn()
+{
+ global $options;
+
v(1, "Running cvs2svn pass...\n");
$command = "exec cvs2svn --options=phpsvn.options";
@@ -116,7 +135,10 @@
v(3, "Output is in ./phpsvn.conversion.out.\n");
}
-if (is_null($options['pass']) || $options['pass'] == 'svnrm') {
+function pass_svnrm()
+{
+ global $options;
+
v(1, "Running svnrm pass...\n");
$command = "exec svn rm -m \"[SVN CONVERSION] Removing .svn directories
that break SVN checkout.\" " .
@@ -153,7 +175,10 @@
v(3, "Output:\n" . implode("\n", $output) . "\n");
}
-if (is_null($options['pass']) || $options['pass'] == 'reorg') {
+function pass_reorg()
+{
+ global $options;
+
error("If this were implemented yet, a series of svn cp, svn rm, and svn
mv commands would follow. It isn't, so they don't. Sorry.\n");
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php