nlopess Thu Aug 9 16:59:09 2007 UTC
Added files:
/phpdoc/scripts/iniupdate update-all.php
Removed files:
/phpdoc/scripts/iniupdate cvs-get-release version4.tags
version5.tags
Log:
start working on this sh*t
add a script to automcatically fetch the cvs tags and checkout the sources
(based on Sean's functable)
http://cvs.php.net/viewvc.cgi/phpdoc/scripts/iniupdate/update-all.php?view=markup&rev=1.1
Index: phpdoc/scripts/iniupdate/update-all.php
+++ phpdoc/scripts/iniupdate/update-all.php
<?php
/*
+----------------------------------------------------------------------+
| ini doc settings updater |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2007 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.0 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_0.txt. |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| [EMAIL PROTECTED] so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Authors: Nuno Lopes <[EMAIL PROTECTED]> |
+----------------------------------------------------------------------+
*/
/** fetch the PHP release tags */
function get_php_release_tags()
{
chdir('php-src');
$log = explode("\n", `cvs log ChangeLog`);
do {
$l = array_shift($log);
if ($l == 'symbolic names:') {
break;
}
} while (1);
$tags = array();
foreach ($log as $l) {
if (substr($l, 0, 1) != "\t") {
break;
}
list($tag,) = explode(': ', trim($l));
if (preg_match('/^PHP_[456]_[0-9]+_[0-9]+$/i', $tag)) {
$tags[] = $tag;
}
}
chdir('..');
return array_reverse($tags);
}
function checkout_tag($tag)
{
if (is_dir($tag)) {
echo "already there\n";
return;
}
// $tag = PHP_x_x_x
$majorversion = substr($tag, 4, 1);
$dir = 'php-'.strtr(substr($tag, 4), '_', '.');
$filename = "$dir.tar.gz";
copy("http://museum.php.net/php$majorversion/$filename", $filename);
$cmds[] = "tar xfz $filename";
$cmds[] = "mv $dir $tag";
$cmds[] = "rm $filename";
$cmds[] = 'find ' .escapeshellarg($tag). ' -type f -and -not -name
"*.[chly]" -and -not -name "*.ec" -and -not -name "*.lex" | xargs rm -f';
$cmds[] = 'while ( find ' .escapeshellarg($tag). ' -depth -type d -and
-empty | xargs rm -r 2>/dev/null ) ; do true ; done';
foreach ($cmds as $cmd) {
exec($cmd);
}
echo "done\n";
}
// update HEAD
echo "updating cvs HEAD... ";
chdir('sources');
$cmd = 'cvs -q -d :pserver:[EMAIL PROTECTED]:/repository co php-src >
/dev/null';
//exec($cmd);
echo "done\n";
foreach (get_php_release_tags() as $tag) {
$tag = strtoupper($tag);
echo "Getting tag: $tag... ";
checkout_tag($tag);
}