I'm copying lots of files that have changed from one server to another using rsync. I know I can use the -n option to do a dry run, so I can see what files have been changed. However is it possible to get rsync to print a diff of the file contents that's changed? I'd like to see what's happening before doing a copy? Something I can save to a file and the apply with diff(1) later?
| |||
|
feedback
|
|
There might be a better way, but this might work, albeit not that efficiently:
Then edit test to remove the stats, then:
Another Option: | |||||||||
feedback
|
|
rsync can't do this natively, but if there's a possibility of using unison you can produce diff style format from that. | |||
|
feedback
|
|
It's not possible natively because rsync only cares about binary differences between files. You might be able to script it, using rsync's output. But it would be hackish. I do believe it's natively possible with Unison though. | |||||||
feedback
|
|
The rsync algorithm works by comparing binary chunks of the file. Such binary diff is not meant to be printable. There is a command called rdiff that uses the rsync algorithm to generate a binary diff, but I don't think it'd be useful for what you describe, it is commonly used to implement incremental backups. | |||
|
feedback
|
|
Why not just use something like diff (for text files) or xdelta (for binary files) to generate the diffs? Why do you need to specifically get something out of rsync? | |||||
|
feedback
|