A related tool that I've found useful over the years is Unison [1]. Think of it as rsync where you can interactively adjust the reconciliation algorithm between the two sides of the sync connection. It stores a hash of the file contents from the previous run for each file, so it can work out whether each side has changed since the last run. It then presents you with a GUI (or TUI) to review and adjust the reconciliation.
For the periods of my career where I've lived the two computer life (desktop and laptop), I've used Unison to keep substantial parts of my home directory in sync between the two machines.
It was, as I recall, nicer still but it's no longer maintained and the x86-32 binary no longer runs.
AnonC 4 days ago [-]
This seems quite useful to me. Since I use rsync for specific purposes that tend to be used repeatedly (but not changing environments/purposes), it always requires a little bit of reading the manual and/or searching online plus some trial and error to figure out the parameters (with a dry run).
BTW, the documentation [1] mentions installing a newer version of rsync using Homebrew. I’d suggest including Macports rsync [2], which also provides 3.x (right now at 3.4.1).
Try warp.dev, you won't need to read manual anymore
HeckFeck 4 days ago [-]
Looks very good. I'm glad to see more things happening in SwiftUI - proper desktop apps are not gone yet!
dmarinus 4 days ago [-]
I don't like GUIs for this so I made a simple cli frontend for rsync/rclone so I can just run pull/push in a directory like git. https://github.com/meeuw/rzn
w10-1 4 days ago [-]
Sorry, I noticed the XPC code is the generic to add numbers. Unused?
And the application is not sandboxed?[1]
The trick with an app like this is the risk of launching an external process, or building the app to include the binaries, thus avoiding some security risk (and possibly using XPC for inter-op updates).
Would you like to summarize how you identified and addressed the risks, and your approach for building/bundling/deploying the app?
Not to detract from the author's efforts, but Transmit[1] has a feature that lets you synchronise two folders (as well as being a great all-round SFTP/remote file browser).
I posted a comment regarding Mike Bombich's "Carbon Copy Cloner", which at least started as a GUI wrapper around an rsync that's been patched to handle Mac extended attributes and related features that date from the Classic MacOS era.
Carbon Copy Cloner is commercial software, but Bombich released his patches to rsync as open source.
My comment has some links to historical context of his work.
Nice. It would be nifty if this could also front-end LFTP. Using the mirror subsystem LFTP can replicate the behavior of rsync in a chroot sftp-only environment which I use heavily when I do not wish to give people a shell. If there was a UI it would be easier to help less technical people to use LFTP.
joshstrange 4 days ago [-]
I’d love to see something similar for Rclone!
davidcollantes 4 days ago [-]
Rclone comes with a web GUI now. See https://rclone.org/gui/. Granted, not native, not as polished, but fairly functional.
At some point I forgot about the scheme and started synchronizing things manually.
tyingq 4 days ago [-]
Rsync is pretty closely tied to unixy concepts of permissions, paths, access times, etc. You can find some rsync based tools for Windows, but IMO, it's a square peg / round hole unless you're using it inside of WSL.
blue_pants 4 days ago [-]
robocopy is the Windows equivalent of rsync
huhtenberg 4 days ago [-]
Kinda, sorta. Robocopy is a very good tool, but it cannot do incremental file updates. Already mentioned bvckup2 can do deltas, but it's not an rsync client.
tomovo 4 days ago [-]
I use Bvckup2 for doing Windows backups; it's commercial but works really well for me.
encom 4 days ago [-]
Windows has rsync?
MortyWaves 4 days ago [-]
rsync is a library.
nesarkvechnep 4 days ago [-]
Is this your first SwiftUI app? The table and the sidebar have weird padding and as someone primarily focused on front-end in the past, it makes me uncomfortable. The sidebar can be a NavigationStack, currently it doesn't look like it.
mickelsen 4 days ago [-]
Not mine, just sharing what I found! Otherwise I'd have used "Show HN".
Thanks -- was about to say... FTP? SVN? What year is it?!
neepi 4 days ago [-]
Well that's pretty funny, but is it really?
Most people within my circles don't use cloud storage any more, me included. This is a combination of being cheapskates, being fucked over on billing issues with no support (Microsoft), getting their account hacked (Google), actual tangible data loss (iCloud) or having genuine privacy concerns (all of them).
We all have USB sticks. Some of us use rsync :)
aegypti 4 days ago [-]
Over the holidays I used an admittedly large USB stick to transfer photos from my aunt’s 2011 netbook onto my MacBook signed into her iCloud Photos because she doesn’t own a computer, and both her and my 13yo cousin asked if it was a vape.
For the periods of my career where I've lived the two computer life (desktop and laptop), I've used Unison to keep substantial parts of my home directory in sync between the two machines.
[1]: https://github.com/bcpierce00/unison
I already have RSyncOSX, which after quite a bit of Googling and digging seems to be an older app by the same author.
https://github.com/rsyncOSX/RsyncOSX_archived
As opposed to the new:
https://github.com/rsyncOSX/RsyncOSX
Before that, I used to use ARsync:
https://arrsync.sourceforge.net/
https://www.bartbusschots.ie/s/2006/11/26/arrsync-an-rsync-g...
It was, as I recall, nicer still but it's no longer maintained and the x86-32 binary no longer runs.
BTW, the documentation [1] mentions installing a newer version of rsync using Homebrew. I’d suggest including Macports rsync [2], which also provides 3.x (right now at 3.4.1).
[1]: https://rsyncui.netlify.app/docs/settings/rsyncandpath/
[2]: https://ports.macports.org/port/rsync/
And the application is not sandboxed?[1]
The trick with an app like this is the risk of launching an external process, or building the app to include the binaries, thus avoiding some security risk (and possibly using XPC for inter-op updates).
Would you like to summarize how you identified and addressed the risks, and your approach for building/bundling/deploying the app?
[1] https://github.com/rsyncOSX/RsyncUI/blob/main/RsyncUI/RsyncU...
[1] https://help.panic.com/transmit/transmit5/synchronize/
https://news.ycombinator.com/item?id=43605003
I posted a comment regarding Mike Bombich's "Carbon Copy Cloner", which at least started as a GUI wrapper around an rsync that's been patched to handle Mac extended attributes and related features that date from the Classic MacOS era.
Carbon Copy Cloner is commercial software, but Bombich released his patches to rsync as open source.
My comment has some links to historical context of his work.
https://news.ycombinator.com/item?id=43606281
Maybe of interest here.
At some point I forgot about the scheme and started synchronizing things manually.
Most people within my circles don't use cloud storage any more, me included. This is a combination of being cheapskates, being fucked over on billing issues with no support (Microsoft), getting their account hacked (Google), actual tangible data loss (iCloud) or having genuine privacy concerns (all of them).
We all have USB sticks. Some of us use rsync :)