Very nice! I'll keep using unison for now as I need something stable and reliable, but I'll keep an eye on the project and may switch to it eventually.
Open Source
All about open source! Feel free to ask questions, and share news, and interesting stuff!
Useful Links
- Open Source Initiative
- Free Software Foundation
- Electronic Frontier Foundation
- Software Freedom Conservancy
- It's FOSS
- Android FOSS Apps Megathread
Rules
- Posts must be relevant to the open source ideology
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
- !libre_culture@lemmy.ml
- !libre_software@lemmy.ml
- !libre_hardware@lemmy.ml
- !linux@lemmy.ml
- !technology@lemmy.ml
Community icon from opensource.org, but we are not affiliated with them.
It detects conflicts, and lets you decide what to do.
does it continue to sync the rest on conflict or does it halt for user input?
It compares everything first (scan, diff, hash), then halts before any changes are made. You see a full summary of what will happen, and approve each category separately (copies, deletes). It's designed to be very transparent. Every change must be approved before anything is written.
Conflicts get their own interactive screen where you pick per-file: keep A, keep B, or skip. Nothing is written until you've resolved all of them.
If you want to skip the prompts, --yes flag auto-approves, but conflicts still halt for user input. Flags --force root_a or --force root_b are used for mirrors one way here conflicts are not possible.
but conflicts still halt for user input
i never understood this behavior. starting a large data transfer only to come back an hour later to find it halted at 5% due to some conflict. why not put those files at the end of the queue and resume with the rest?
It doesn't work that way. Conflicts are resolved before any transfer starts. The flow is:
Scan both sides and compare (compute file hashes or just compare mtime, no data transferred)
Show conflicts if any → you resolve them
Show copy/delete summary → you approve
Only then does the actual transfer begin. So you never come back to find it halted mid-transfer. All decisions happen upfront while it's just reading metadata, which is fast even for large trees.
This makes so much more sense than the Windows behavior.