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
update for rename of recentchanges.mdwn to json.tl.ph.mdwn
[git.ikiwiki.info.git]
/
IkiWiki
/
Plugin
/
rsync.pm
diff --git
a/IkiWiki/Plugin/rsync.pm
b/IkiWiki/Plugin/rsync.pm
index 70dd5a4c9270b211d477c2fd15e07034795ac790..1b85ea000120846ca5426e97be3603425e83cb1f 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 => "rendered", id => "rsync", call => \&postrefresh);
+ hook(type => "delete", id => "rsync", call => \&postrefresh);
}
sub getsetup () {
}
sub getsetup () {
@@
-18,20
+19,25
@@
sub getsetup () {
},
rsync_command => {
type => "string",
},
rsync_command => {
type => "string",
- example => "rsync -qa --delete
/path/to/destdir/
user\@host:/path/to/docroot/",
- description => "
unattended command to upload regener
ated pages",
+ example => "rsync -qa --delete
.
user\@host:/path/to/docroot/",
+ description => "
command to run to sync upd
ated pages",
safe => 0,
rebuild => 0,
},
}
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) {
system $config{rsync_command};
if ($? == -1) {
- warn("failed to execute rsync_command: $!");
- } elsif ($? != 0) {
- warn(sprintf("rsync_command exited %d", $? >> 8));
+ warn(sprintf(gettext("failed to execute rsync_command: %s"), $!))."\n";
+ }
+ elsif ($? != 0) {
+ warn(sprintf(gettext("rsync_command exited %d"), $? >> 8))."\n";
}
}
}
}
}
}