projects
/
GITManagedWebpage.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
b71fd6d
)
continued working on basic functionality
author
pk910
<philipp@zoelle1.de>
Sat, 5 Oct 2013 23:42:21 +0000
(
01:42
+0200)
committer
pk910
<philipp@zoelle1.de>
Sat, 5 Oct 2013 23:42:21 +0000
(
01:42
+0200)
GITManagedWebpage.class.php
patch
|
blob
|
history
diff --git
a/GITManagedWebpage.class.php
b/GITManagedWebpage.class.php
index 305530b1ba1195254bd2cd8c266a25ec3ce5ccfe..0cf408ce4bc1550134e1b9ca2908bc86ff820c8e 100644
(file)
--- a/
GITManagedWebpage.class.php
+++ b/
GITManagedWebpage.class.php
@@
-33,6
+33,7
@@
class GITManagedWebpage {
private $loopedcall = false;
private $config = null;
private $config_changed = true;
private $loopedcall = false;
private $config = null;
private $config_changed = true;
+ private $activeSession = null;
public function __construct($giturl, $workdir = null, $localdir = null) {
if(session_status() != PHP_SESSION_ACTIVE) {
public function __construct($giturl, $workdir = null, $localdir = null) {
if(session_status() != PHP_SESSION_ACTIVE) {
@@
-238,13
+239,20
@@
class GITManagedWebpage {
preg_match("#([a-z0-9]{40})#", $gitret, $match);
$newest_version = $match[1];
preg_match("#([a-z0-9]{40})#", $gitret, $match);
$newest_version = $match[1];
+ $deleted_files = array();
if(($current_version = $this->getConfig('version_'.$branch))) {
if(($current_version = $this->getConfig('version_'.$branch))) {
+ echo $current_version . " == " . $newest_version;
if($current_version == $newest_version)
return;
else {
if($current_version == $newest_version)
return;
else {
- //applying patch
- $difftxt = $this->gitcmd("diff", $current_version, $newest_version);
- echo $difftxt;
+ $override_all = true;
+ $delfiles = $this->gitcmd("diff", "--diff-filter=D", "--name-only", $current_version, $newest_version);
+ $delfiles = explode("\n", str_replace(array("\r"), array(""), $delfiles));
+ foreach($delfiles as $file) {
+ if(!$file)
+ continue;
+ $deleted_files[] = $file;
+ }
}
} else
$override_all = true;
}
} else
$override_all = true;
@@
-254,9
+262,14
@@
class GITManagedWebpage {
shell_exec('rsync -avz --exclude ".git" '.escapeshellarg($this->workdir."repository/").' '.escapeshellarg($path));
else
shell_exec('tar -c --exclude ".git" -C '.escapeshellarg($this->workdir."repository").' . | tar -x -C '.escapeshellarg($path));
shell_exec('rsync -avz --exclude ".git" '.escapeshellarg($this->workdir."repository/").' '.escapeshellarg($path));
else
shell_exec('tar -c --exclude ".git" -C '.escapeshellarg($this->workdir."repository").' . | tar -x -C '.escapeshellarg($path));
+
+ // remove deleted files
+ foreach($deleted_files as $file) {
+ unlink($path.$file);
+ }
}
$this->setConfig('version_'.$branch, $newest_version);
}
$this->setConfig('version_'.$branch, $newest_version);
-
//
$this->saveConfig();
+ $this->saveConfig();
}
/* public function update()
}
/* public function update()