qSnapper 1.2.0
Updated to version 1.2.0
Rewrite file restore to use direct snapshot mount instead of Comparison::doUndoStep, bump to v1.2.0
Replace the previous restore mechanism based on Snapper's Comparison::doUndoStep() with
two new methods that directly mount the snapshot filesystem and copy files:
- "YaST compatible" mode: mirrors YaST's restore behavior using cp -a, rm -rf, chown, and chmod to restore files with proper ownership and permissions.
- "Direct copy" mode: same approach but uses cp --reflink=auto to leverage btrfs copy-on-write for faster restores on btrfs filesystems.
Both D-Bus methods (RestoreFiles, RestoreFilesDirect) now receive changeTypes alongside filePaths, enabling change-type-aware restore logic.
(e.g., removing files that were created after the snapshot, recreating deleted files)
Additional changes:
- Add restore options UI (method selection and batch size) to the confirm restore dialog, with settings persisted via QSettings.
- Add a scrollable restore log to the progress dialog showing each restored file path in real time.
- Replace hardcoded version strings with QSNAPPER_VERSION compile definition sourced from CMake's PROJECT_VERSION.
- Remove unused methods: dumpTree(), executeCommand(), getDBusInterface().
Full Changelog: v1.1.4...v1.2.0