projects
/
pharext
/
pharext
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
|
github
raw
|
inline
| side by side
s/CliArgs/Cli\Args/g
[pharext/pharext]
/
src
/
pharext
/
Updater.php
diff --git
a/src/pharext/Updater.php
b/src/pharext/Updater.php
index 7da989db9db0c5147d83e3d0780560f881b1de21..d4ba5b8ada4498559f6f6824d5f9f4a3ddda36e4 100644
(file)
--- a/
src/pharext/Updater.php
+++ b/
src/pharext/Updater.php
@@
-82,8
+82,14
@@
class Updater implements Command
}
foreach ($this->args[0] as $file) {
}
foreach ($this->args[0] as $file) {
- if (file_exists($file)) {
- $this->updatePackage(new SplFileInfo($file));
+ $info = new SplFileInfo($file);
+
+ while ($info->isLink()) {
+ $info = new SplFileInfo($info->getLinkTarget());
+ }
+
+ if ($info->isFile()) {
+ $this->updatePackage($info);
} else {
$this->error("File '%s' does not exist\n", $file);
exit(self::EARGS);
} else {
$this->error("File '%s' does not exist\n", $file);
exit(self::EARGS);
@@
-124,6
+130,9
@@
class Updater implements Command
if (!copy($file->getPathname(), $temp)) {
throw new Exception;
}
if (!copy($file->getPathname(), $temp)) {
throw new Exception;
}
+ if (!chmod($temp, $file->getPerms())) {
+ throw new Exception;
+ }
$this->replacePharext($temp);
$this->replacePharext($temp);