Skip to content

Latest commit

ย 

History

History
30 lines (20 loc) ยท 2.63 KB

File metadata and controls

30 lines (20 loc) ยท 2.63 KB

blaupause ๐Ÿ—‚๏ธ

blaupause is a minimalistic tool to copy a single directory.

GUI with macOS

Command-line tools like rsync (Linux & macOS) and ROBOCOPY (Windows) provide powerful options for data transfer and duplication. However, achieving specific outcomes often requires frequent reference to documentation or diligent note-taking to recall the correct parameters.

Importantly, incorrect use of options like --delete (rsync) or /PURGE (ROBOCOPY) can result in unintended data loss.

blaupause offers a sensible default configuration to optimize transfer speeds and deliver feedback during copy operations โ€” all within a minimalistic, user-friendly interface. Rather than implementing a custom algorithm for data transfer and duplication, blaupause leverages native command-line tools to copy directories and their contents. Progress and completion status are reported in the corresponding Terminal (macOS) or Command Prompt (Windows). On Linux, you need to either start blaupause from the Terminal or from a desktop shortcut with Terminal=true set.

// rsync on Linux & macOS with default and [custom] options
// https://download.samba.org/pub/rsync/rsync.1
rsync -hrlvPW --stats /source /target [-a --delete-during --checksum]

// ROBOCOPY on Windows with default and [custom] options
// https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
ROBOCOPY \\source \\target\source /E /ETA /MT:2 /R:0 /V [/COPYALL /PURGE]

ROBOCOPY does not offer an explicit checksum verification but instead checks transfers by comparing file sizes and timestamps: The 'Validate' option is therefore disabled on Windows.

Tip

Both rsync and ROBOCOPY support incremental updates. If a transfer is interrupted (e.g., due to connection loss or timeouts), you will find a corresponding message in the reports: simply rerun the operation to resume and complete it. Unchanged directories/files will be skipped, modified ones will be replaced, and missing items will be added.

Caution

If you enable the delete option (default: unchecked), any directories/files that exist on the target (receiving side) but are missing on the source (sending side) will be deleted โ€” effectively synchronizing both directories. If the delete option remains unchecked, existing items on the target will be updated but never deleted.

blaupause is built with egui and eframe by Emil Ernerfeldt (@emilk). For licensing details, please refer to the respective copyright notices.