Take any scenario where rsync is useful: backups, updating remote / hosted content, etc. KDE is capable of managing all sorts of connections in a graphical environment, rather than console (or dedicated clients for each protocol). There should, then, be a graphical alternative to the rsync command. Reproducible: Always Steps to Reproduce: Select a folder from one [window / tab / panel], and drop it into another panel. This can be a different directory, a USB drive, a remote machine on SMB or FTP, whatever, thanks to KIO magic. The little menu appears with "Move here", "Copy here", "Link here". There should be an option: "Synchronise here"! Expected Results: I would expect this to work as either "rsync -a" or "rsync -a --del", which together cover the majority of usage scenarios. If files are found in the destination that are missing from source (which is when the --del option becomes interesting), a confirmation dialogue should appear, "Delete files in destination folder that are absent in content being dropped?" (similar to overwrite dialogue on copying) -- the behaviour after "yes" corresponds to "rsync -a --del", behaviour after "no" corresponds to "rsync -a". While this will never cover the full versatility of rsync, I think this would provide a very powerful tool for everyday file management -- synchronising between hard discs, cloud, usb discs, backup devices.
I would be willing to look into coding this, but I haven't worked on projects within kde before. Any tips to avoid typical pitfalls when embarking on a task like this? I am already familiar with C++ and have looked at code which uses Qt before.
Allen, it's simplest to just start investigating the issue and trying a patch. If you get stuck, you can ask on the kde-devel mailing list, or on other KDE developer support channels.
KIO implementing rsync is out of scope; KIO can copy/move files/dirs, a simple tool that's not with features, but implementing rsync algorithms would complicate the code too much, and there is already a perfectly good tool (rsync) that does one job, and does it really well.