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

Reply via email to