# -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 не работает.

Восстановление

Страницы