gwynne Fri Oct 24 02:45:27 2008 UTC
Added files:
/SVNROOT run-conversion.php
Log:
initial version of conversion script
http://cvs.php.net/viewvc.cgi/SVNROOT/run-conversion.php?view=markup&rev=1.1
Index: SVNROOT/run-conversion.php
+++ SVNROOT/run-conversion.php
<?php
$version = '$Rev$';
print "PHP Group CVS->SVN respository conversion version {$version}.\n";
print "Started at " . date(DATE_RFC2822) . "\n";
$CVSROOT = "/home/repository";
$SVNROOT = "/home/repository-svn";
$do_cvs2svn = TRUE;
$do_svnrm = TRUE;
$do_reorg = TRUE;
function is_option($optName, $arg, &$value)
{
if (strncmp($arg, $optName, strlen($optName)) == 0) {
if (!is_null($value)) {
$value = substr($arg, strlen($optName) + 1);
}
return true;
}
return false;
}
foreach ($argv as $i => $arg) {
if (is_option("--cvsroot", $arg, $value)) {
$CVSROOT = $value;
} else if (is_option("--svnroot", $arg, $value)) {
$SVNROOT = $value;
} else if (is_option("--cvs2svn", $arg, $value)) {
$do_cvs2svn = ($value == 'true');
} else if (is_option("--svnrm", $arg, $value)) {
$do_svnrm = ($value == 'true');
} else if (is_option("--reorg", $arg, $value)) {
$do_reorg = ($value == 'true');
}
}
if ($do_cvs2svn) {
print "Running cvs2svn...\n";
$cvs2svn_process = proc_open("cvs2svn --options=phpsvn.options", array(
0 => array('pipe', 'r'),
1 => array('file', './phpsvn.conversion.out', 'w'),
2 => array('pipe', 'w'),
), $pipes, NULL, NULL);
fclose($pipes[0]);
$procinfo = array();
do {
usleep(500000);
$procinfo = proc_get_status($cvs2svn_process);
} while ($procinfo['running'] == TRUE);
$errorText = stream_get_contents($pipes[2]);
fclose($pipes[2]);
proc_close($cvs2svn_process);
if ($procinfo['exitcode'] != 0) {
print "Error executing cvs2svn. Error output is:\n{$errorText}\n";
exit($procinfo['exitcode']);
}
}
if ($do_svnrm) {
print "Running svn rm...\n";
exec("svn rm -m \"[SVN CONVERSION] Removing .svn directories that break SVN
checkout.\" " .
"file:///{$SVNROOT}/pear/Selenium/branches/shin/.svn " .
"file:///{$SVNROOT}/pear/Selenium/branches/shin/tests/.svn " .
"file:///{$SVNROOT}/pear/Selenium/branches/shin/tests/events/.svn "
.
"file:///{$SVNROOT}/pear/Selenium/branches/shin/tests/html/.svn " .
"file:///{$SVNROOT}/pear/Selenium/branches/shin/docs/.svn " .
"file:///{$SVNROOT}/pear/Selenium/branches/shin/examples/.svn " .
"file:///{$SVNROOT}/pear/Selenium/tags/start/tests/.svn " .
"file:///{$SVNROOT}/pear/Selenium/tags/start/tests/events/.svn " .
"file:///{$SVNROOT}/pear/Selenium/tags/start/tests/html/.svn " .
"file:///{$SVNROOT}/pear/Selenium/tags/start/docs/.svn " .
"file:///{$SVNROOT}/pear/Selenium/tags/start/examples/.svn " .
"file:///{$SVNROOT}/pear/Selenium/tags/start/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/branches/shin/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/branches/shin/tests/.svn
" .
"file:///{$SVNROOT}/pear/Testing_Selenium/branches/shin/tests/events/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/branches/shin/tests/html/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/branches/shin/docs/.svn "
.
"file:///{$SVNROOT}/pear/Testing_Selenium/branches/shin/examples/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/tags/start/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/tags/start/tests/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/tags/start/tests/events/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/tags/start/tests/html/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/tags/start/docs/.svn " .
"file:///{$SVNROOT}/pear/Testing_Selenium/tags/start/examples/.svn
2>&1", $svnrm_output, $exitstatus);
if ($exitstatus != 0) {
print "Error executing svn rm. Error output is:\n" . implode("\n",
$svnrm_output) . "\n";
exit($exitstatus);
}
}
if ($do_reorg) {
print "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";
exit(1);
}
print "Finished at " . date(DATE_RFC2822) . "\n";
?>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php