# -v- проверить, если с момента последнего обновления прошло меньше часа
мой $тест; # используется как флаг для увеличения версии
если ($NoRcs) {
если ($ интервал < 3600) {
$test = ($trace eq $$page{host});
}
} # --end если
$$page{rev}++ если только $test ;
На этом этапе номер версии увеличивается только в том случае, если тест определяет, что
должно произойти резервное копирование. Блокировка на час может быть чрезмерной — всего пять или десять.
минут может быть достаточно для многих ситуаций. С другой стороны, вы можете захотеть
еще больший «безопасный» интервал в общедоступной вики. Мы дополнительно допускаем глобальный
переопределить, чтобы пропустить всю обработку RCS. Процедура продолжается путем обновления других соответствующих
скрытые поля и объединение всех полей вместе. ,
$$page{sysT} = $sysT; # системных секунд при сохранении
$$страница{дата} = $дата; # человек читаемый
$$page{хост} = $трассировка;
$$page {агент} = $ ENV {HTTP__USER_AGENT}; # какой браузерный клиент
мое ©значение = %$страница; # составить список компонентов
мое $ значение = присоединиться ($ знак / © значение); # сделать содержимое файла
АДМИНИСТРИРОВАНИЕ БАЗЫ ДАННЫХ
311
Далее идет страница сохранения и часть RCS-вызова, где регистрация отфильтровывает любые
запрос на резервное копирование, в котором номер версии тот же (и, кстати, любое обновление
с одинаковым содержанием).
мой $file = "$DataBase/$title";
ScLockPage($файл) ;
открыть (WDB, ">$file");
вывести значение WDB $; # обновить текущую страницу
закрыть БДД;
если ($NoRcs) {
# -- (вставьте здесь хак с инициализацией файла резервного копирования) -my $msg = "Обновление с $$page{LastEdit} $$page{host}"; #
мой $rv = "$$page{rev}.0";
Н
$RcsBin/ci "-m$msg" -l$rv -x,v $file 2>&1 N ; # обновить резервную копию
} # --end, если только NoRcs
& Разблокировать страницу ($ файл);
} # -- сделанный
В качестве последнего шага по отказоустойчивому кодированию в подпрограмме, которая создает различные вики-файлы.
пути мы должны провести небольшой тест:
$NoRcs = 'ci not found', если только -e "$RcsBin/ci.exe";
Таким образом, глобальное отключение принудительно, если по какой-то причине путь неверный или пакет
не установлен. Поведение Perl гарантирует, что вики не рухнет в любом случае, но это
Стратегия уменьшает накладные расходы и предоставляет некоторую отладочную информацию, если
резервное копирование с помощью RCS не работает.
Восстановление
Страницы