Commit: eea1dea234b03596581c8d6b0c4fac87aca7c0dc Author: Anatol Belski <[email protected]> Thu, 7 May 2015 23:41:33 +0200 Parents: 2af555827864c13acebc203086a70e03a2cbd20d Branches: master pecl_legacy
Link: http://git.php.net/?p=web/rmtools.git;a=commitdiff;h=eea1dea234b03596581c8d6b0c4fac87aca7c0dc Log: fix removal of temporary dirs containing .git folder Changed paths: M client/include/PickleBuildVC.php M client/script/pickle.php Diff: diff --git a/client/include/PickleBuildVC.php b/client/include/PickleBuildVC.php index 5c840d9..00dbe8a 100644 --- a/client/include/PickleBuildVC.php +++ b/client/include/PickleBuildVC.php @@ -117,6 +117,18 @@ class PickleBuildVC function clean() { if (is_dir($this->int_dir)) { + /* XXX something seems to be missing in unlink(), .git has some ACLs so then + PHP cannot handle the removal of the several items in it. Using the + system commando helps with that. */ + $items = scandir($this->int_dir); + foreach ($items as $item) { + $dir = "{$this->int_dir}/$item"; + + if (is_dir("$dir/.git")) { + @shell_exec("del /F /S /Q /A " . realpath($dir) . DIRECTORY_SEPARATOR . ".git"); + } + } + rmdir_rf($this->int_dir); } } diff --git a/client/script/pickle.php b/client/script/pickle.php index b13c312..f9301a1 100644 --- a/client/script/pickle.php +++ b/client/script/pickle.php @@ -99,7 +99,6 @@ foreach ($builds as $build_name) { if ($ret["return_value"]) { - /* XXX build->clean() is gonna remove all the temp files, pack the logs before */ $build->clean(); $ext->cleanup(); $was_errors = true; -- PHP Webmaster List Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
