WHEN WILL I LEARN RSYNC? So I want to synchronise two similar directories, maybe with some weird exceptions. My options are to manually go through and compare file modifications times (assuming system clocks have been correct and there aren't things unpacked from old archives etc.) in a file manager, selecting and copying as I go. Or I can simply "rm -r" everything that I intend to synchronise in the target directory, then copy everything over from the source ignoring the painfull inefficiency of copying over a majority of files that were there before. Or I can let the computer do it all for me with this handy tool called Rsync. Oh no, I chose the last option! Didn't I know that every time I use that command I forget one of the alphabet of parameters that it takes to do what I want, or omit/mangle an exclusion wildcard, or get confused about whether to use a trailing slash on one of the paths. At this point I know most of the the mistakes that I can make, BUT I KEEP ON MAKING THEM. Yes I know that "-n" (dry-run mode) sometimes helps, but often it doesn't. Yes it prints a vague list of things that it's going to do, but on a large job that's miles long and I usually miss the part where it suddenly decides to replace my entire OS with one file named "bob". What I need is some sort of Rsync-preview file system view where I can browse around a preview of what things will look like after I make all my fatal mistakes, before committing to actually doing the job. It would need to know about existing files and timestamps of synced files (with/without -t) to present a clear view, so a little more involved than just processing the output of "rsync -n". Web searches for something like that don't return anything except old forum threads where people have "-n" yelled at them repeatedly. Maybe that's all _they_ need, but having just discovered that my upgraded icli OS SD card is _still_ not working after I spent over an hour fixing my most recent (post-"rsync -n") rsync mistakes last night, I know I need more. I don't think I've ever used Rsync to syncronise my testing and 'production' SD cards during an OS upgrade before, because I know I always stuff it up, but this time I thought "oh come on, I'm not that stupid, with Rsync I can avoid needlessly wearing out the flash by rewriting deleted files...". YES I AM THAT DAMN STUPID! NEEDLESSLY REWRITE THAT 500MB, WEAR OUT THE FLASH, JUST DON'T TRY TO USE RSYNC! Once a fully tested Rsync command is safely locked away in a script that runs with no manual interaction, it's a wonderful tool which I admire. But I really need a better way of safely crafting those command arguments. An alternative idea to the Rsync preview interface would be some sort of virtual file system which clones a real file system/directory but just supplies the directory listings and doesn't actually store files, like a pretend bind mount that doesn't actually touch files at the mounted location. It would be less efficient because Rsync would need to read the files thinking it's really copying them, but it would be very useful for testing other programs and scripts too. Who hasn't created a complex base set of test files to make copies of then experiment with rearranging them using a program/script they're writing and mid-way accidentally get confused about which directory they were in and run it on the base set instead of the test set? Or is that just me too? Yes Git does similar-ish things, but it wouldn't be very efficient for testing a multi-GB Rsync run. Plus I always stuff up Git commands as well, doubly so if I'm trying to do anything even slightly unusual. Anyway having wasted my morning internet time grumbling over all that, I'll put off the upgrade for possibly another month and go fiddle with my car instead. Another complicated thing that I never quite understand... - The Free Thinker