How mlohajner/afst works
AFST is a one-way, cumulative file-sync and archival tool. A user supplies source and destination directories; the core snapshots both, uses GNU diff to identify changes, then transfers only files needing copies while retaining snapshots. The optional Zenity GUI collects the directories and runs the same core script; a desktop launcher is also provided. The README documents these relationships, but no source excerpts were available, so internal call details and AFST2 behavior are not inferred.
Main entry points: afst.sh Sync command · afst-gui.sh Folder picker · AFST.desktop Desktop launcher
Components 11
Sync and archive
- Sync command
afst.sh - State snapshots
afst.sh - Change analysis
afst.sh - File transfer
afst.sh - Retained snapshots
afst.sh
Graphical interface
- Folder picker
afst-gui.sh - Desktop launcher
AFST.desktop
Other components
- User
- Source directory
- Destination directory
- Zenity
Connections 12
- User → Sync command: runs with paths
README.md - Sync command → State snapshots: snapshots both
README.md - Source directory → State snapshots: source state
README.md - Destination directory → State snapshots: destination state
README.md - State snapshots → Change analysis: compares with diff
README.md - Change analysis → File transfer: selects files
README.md - File transfer → Destination directory: copies files
README.md - Sync command → Retained snapshots: retains snapshots
README.md - User → Folder picker: opens
README.md - Folder picker → Zenity: uses
README.md - Folder picker → Sync command: runs same script
README.md - Desktop launcher → Folder picker: launches
README.md