Changes for version 0.002.0 - 2026-11-04

  • Enhancements
    • Created a website
    • "filesync sync --quiet" prints nothing for a repo where nothing happened, instead of an all-zero summary and transfer line, so a cron job that finds nothing to do stays silent.
  • Bug Fixes
    • t/locales.t failed its three system-locale subtests on Windows: it passed a multi-line child program to "perl -e", which Windows cut at the first newline, and imported LC_MESSAGES, which Windows' POSIX lacks. The child is now a script file and falls back to LC_CTYPE.

Documentation

keep a directory in step with a master copy
administer a filesync server root
serve one sync session (the forced command in authorized_keys)

Modules

cron-driven file synchronisation without a daemon
server-side repo, client and recovery administration
validated arguments for App::FileSync's public routines
shared i18n behaviour for App::FileSync objects
the filesync, filesync-admin and filesync-server commands
sync one repo, and the client-side repo commands
client and repo configuration files
shared constants for App::FileSync
rsync-style block deltas in pure Perl
message catalogue and error raising for App::FileSync
the English message catalogue
filesystem primitives for App::FileSync
.gitignore-style path exclusion
advisory lock files
three-way merge of base, client and master manifests
choose platform workarounds before other modules load
the line-delimited JSON wire protocol
describe a directory tree as a manifest
serve one sync session against a repo's master
process-wide settings and logging for App::FileSync
daily snapshots of a replica
the server-side files of one repo
run the server as a local child process
run the server over ssh
dated trash with retention
check a tree against its recorded manifest