/xampp/php/PEAR/PhpDocumentor/scripts/add_cvs.php
https://github.com/edmondscommerce/XAMPP-Magento-Demo-Site · PHP · 153 lines · 86 code · 6 blank · 61 comment · 18 complexity · 5a177d782c0416dab4f1bb68a30ef29f MD5 · raw file
- <?php
- //
- // +------------------------------------------------------------------------+
- // | phpDocumentor |
- // +------------------------------------------------------------------------+
- // | Copyright (c) 2000-2003 Joshua Eichorn, Gregory Beaver |
- // | Email jeichorn@phpdoc.org, cellog@phpdoc.org |
- // | Web http://www.phpdoc.org |
- // | Mirror http://phpdocu.sourceforge.net/ |
- // | PEAR http://pear.php.net/package/PhpDocumentor |
- // +------------------------------------------------------------------------+
- // | This source file is subject to version 3.00 of the PHP License, |
- // | that is available at 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 |
- // | license@php.net so we can mail you a copy immediately. |
- // +------------------------------------------------------------------------+
- //
- /**
- * CVS file adding iterator
- *
- * This file iterates over a directory, and adds everything to CVS that is
- * found, ignoring any error messages, until all files in each directory
- * and subdirectory have been added to cvs. It then commits the files to cvs
- * @package phpDocumentor
- * @author Greg Beaver <cellog@php.net>
- * @copyright Copyright 2003, Greg Beaver
- * @version 1.0
- */
- /**#@+
- * phpDocumentor include files. If you don't have phpDocumentor, go get it!
- * Your php life will be changed forever
- */
- $dir = realpath(dirname(__FILE__).'/..');
- require_once("$dir/phpDocumentor/common.inc.php");
- require_once("$dir/phpDocumentor/Io.inc");
- /**#@-*/
- /**
- * Physical location on this computer of the package to parse
- * @global string $cvsadd_directory
- */
- $cvsadd_directory = realpath('.');
- /**
- * Comma-separated list of files and directories to ignore
- *
- * This uses wildcards * and ? to remove extra files/directories that are
- * not part of the package or release
- * @global string $ignore
- */
- $ignore = array('CVS/');
- /******************************************************************************
- * Don't change anything below here unless you're adventuresome *
- *******************************************************************************/
- /**
- * @global Io $files
- */
- $files = new Io;
- $allfiles = $files->dirList($cvsadd_directory);
- /**#@+
- * Sorting functions for the file list
- * @param string
- * @param string
- */
- function sortfiles($a, $b)
- {
- return strnatcasecmp($a['file'],$b['file']);
- }
- function mystrucsort($a, $b)
- {
- if (is_numeric($a) && is_string($b)) return 1;
- if (is_numeric($b) && is_string($a)) return -1;
- if (is_numeric($a) && is_numeric($b))
- {
- if ($a > $b) return 1;
- if ($a < $b) return -1;
- if ($a == $b) return 0;
- }
- return strnatcasecmp($a,$b);
- }
- /**#@-*/
- $struc = array();
- foreach($allfiles as $file)
- {
- if ($files->checkIgnore(basename($file),dirname($file),$ignore, false))
- {
- // print 'Ignoring '.$file."<br>\n";
- continue;
- }
- $path = substr(dirname($file),strlen(str_replace('\\','/',realpath($cvsadd_directory)))+1);
- if (!$path) $path = '/';
- $file = basename($file);
- $ext = array_pop(explode('.',$file));
- if (strlen($ext) == strlen($file)) $ext = '';
- $struc[$path][] = array('file' => $file,'ext' => $ext);
- }
- uksort($struc,'strnatcasecmp');
- foreach($struc as $key => $ind)
- {
- usort($ind,'sortfiles');
- $struc[$key] = $ind;
- }
- $tempstruc = $struc;
- $struc = array('/' => $tempstruc['/']);
- $bv = 0;
- foreach($tempstruc as $key => $ind)
- {
- $save = $key;
- if ($key != '/')
- {
- $struc['/'] = setup_dirs($struc['/'], explode('/',$key), $tempstruc[$key]);
- }
- }
- uksort($struc['/'],'mystrucsort');
- /**
- * Recursively add files to cvs
- * @param array the sorted directory structure
- */
- function addToCVS($struc)
- {
- foreach($struc as $dir => $files)
- {
- if ($dir === '/')
- {
- print 'processing '.$dir . "\n";
- addToCVS($struc[$dir]);
- return;
- } else
- {
- if (!isset($files['file']))
- {
- print 'adding '.$dir . "\n";
- system('cvs add '.$dir);
- chdir($dir);
- addToCVS($files);
- chdir('..');
- } else
- {
- print 'adding '.$files['file'] . "\n";
- system('cvs add '.$files['file']);
- system('cvs commit -m "" '.$files['file']);
- }
- }
- }
- }
- addToCVS($struc);
- print "\n".'done';
- ?>