'coreutils', '../http/sourceforge.net/projects/gnuwin32/files/coreutils/5.3.0/coreutils-5.3.0-dep.zip' => 'coreutils', '../ftp/ftp.gnupg.org/gcrypt/binary/gnupg-w32-2.1.14_20160714.exe/bin' => 'gpg', '../ftp/ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.4.20.exe' => 'gpg', '../ftp/ftp.gnupg.org/gcrypt/binary/gnupg-w32-2.1.14_20160714.exe/bin/gpg.exe' => 'gpg/gpg2.exe', '../ftp/ftp.gnupg.org/gcrypt/binary/gnupg-w32-2.1.14_20160714.exe/bin/gpgv.exe' => 'gpg/gpgv2.exe', '../http/sourceforge.net/projects/gnuwin32/files/grep/2.5.4/grep-2.5.4-bin.zip' => 'grep', '../http/sourceforge.net/projects/gnuwin32/files/grep/2.5.4/grep-2.5.4-dep.zip' => 'grep', '../http/sourceforge.net/projects/keepass/files/KeePass 1.x/1.31/KeePass-1.31.zip' => 'keepass', '../http/sourceforge.net/projects/keepass/files/Plugins/1.15/VariousImport-v1.2.zip' => 'keepass', '../http/sourceforge.net/projects/keepass/files/Translations 1.x/1.31/KeePass-1.31-French.zip' => 'keepass', '../http/keepass.info/extensions/v1/lockext/LockExtensions-1.2.zip' => 'keepass', '../http/keepass.info/extensions/v1/puttyagent/PuttyAgent-v3.0.zip' => 'keepass', '../http/sourceforge.net/projects/madedit/files/MadEdit/MadEdit-0.2.9/MadEdit-0.2.9.1-win32-bin.7z' => 'madedit', '../http/madedit-pv.googlecode.com/files/MadEdit20130705.7z' => 'madedit', '../http/www.python.org/ftp/python/2.7.6/python-2.7.6.msi' => 'python/2.7', '../http/sourceforge.net/projects/pywin32/files/pywin32/Build 218/pywin32-218.win32-py2.7.exe' => 'python/2.7', '../http/www.python.org/ftp/python/3.3.4/python-3.3.4.msi' => 'python/3.3', '../http/sourceforge.net/projects/pywin32/files/pywin32/Build 218/pywin32-218.win32-py3.3.exe' => 'python/3.3', ); $g_h_bDeleteList = array(); foreach (array_unique($g_h_sMap) as $g_sTarget) { foreach (gList(gNormalize($g_sTarget)) as $g_sTarget) { $g_h_bDeleteList[$g_sTarget] = true; } } $g_h_sCopyMap = array(); foreach ($g_h_sMap as $g_sSource => $g_sTarget) { foreach (gMap($g_sSource, $g_sTarget) as $g_sSource => $g_sTarget) { $g_h_sCopyMap[$g_sTarget] = $g_sSource; unset($g_h_bDeleteList[$g_sTarget]); } } foreach ($g_h_sCopyMap as $g_sTarget => $g_sSource) { if (!is_file($g_sTarget)) { gCreate(dirname($g_sTarget)); passthru('svn copy "'.$g_sSource.'@" "'.$g_sTarget.'@"'); } else if (file_get_contents($g_sTarget) !== file_get_contents($g_sSource)) { passthru('svn delete --force "'.$g_sTarget.'@"'); passthru('svn copy "'.$g_sSource.'@" "'.$g_sTarget.'@"'); } } foreach ($g_h_bDeleteList as $g_sTarget => $g_bTrue) { assert(true === $g_bTrue); passthru('svn delete --force "'.$g_sTarget.'@"'); } ?>