Photos
Blog
Projects
vanrenterghem.biz
projects
/
git.ikiwiki.info.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
patch hidden field setting code
[git.ikiwiki.info.git]
/
IkiWiki
/
Plugin
/
rsync.pm
diff --git
a/IkiWiki/Plugin/rsync.pm
b/IkiWiki/Plugin/rsync.pm
index f14989ff835ac929675666ee91cd3a5d68f8261b..e38801e4a110b0b9e4790935de65f08bce30441e 100644
(file)
--- a/
IkiWiki/Plugin/rsync.pm
+++ b/
IkiWiki/Plugin/rsync.pm
@@
-7,7
+7,8
@@
use IkiWiki 3.00;
sub import {
hook(type => "getsetup", id => "rsync", call => \&getsetup);
sub import {
hook(type => "getsetup", id => "rsync", call => \&getsetup);
- hook(type => "postrefresh", id => "rsync", call => \&postrefresh);
+ hook(type => "change", id => "rsync", call => \&postrefresh);
+ hook(type => "delete", id => "rsync", call => \&postrefresh);
}
sub getsetup () {
}
sub getsetup () {
@@
-18,15
+19,18
@@
sub getsetup () {
},
rsync_command => {
type => "string",
},
rsync_command => {
type => "string",
- example => "rsync -qa --delete . user\@host:/path/to/docroot/
--exclude ikiwiki.cgi
",
+ example => "rsync -qa --delete . user\@host:/path/to/docroot/",
description => "command to run to sync updated pages",
safe => 0,
rebuild => 0,
},
}
description => "command to run to sync updated pages",
safe => 0,
rebuild => 0,
},
}
+my $ran=0;
+
sub postrefresh () {
sub postrefresh () {
- if (defined $config{rsync_command}) {
+ if (defined $config{rsync_command} && ! $ran) {
+ $ran=1;
chdir($config{destdir}) || error("chdir: $!");
system $config{rsync_command};
if ($? == -1) {
chdir($config{destdir}) || error("chdir: $!");
system $config{rsync_command};
if ($? == -1) {