3 ms·
Upstream rsync does not seem to have any special-casing for mac/hfs. I'd wager Apple's extended-attribute handling is added in this patch[0] for the version dis
by sprayk 9y ago
Upstream rsync does not seem to have any special-casing for mac/hfs. I'd wager Apple's extended-attribute handling is added in this patch[0] for the version distributed with macOS.
Even here, there isn't special casing for HFS. Instead, a special library function, copyfile()[1], is used to handle copying files and their associated metadata.
It seems this function was introduced in Mac OS X 10.5, which was after the article you linked. I'd wager copyfile() was introduced in response to the unwieldy file copy mechanics.
After discovering how copyfile() is used in rsync, I am fairly confident that rsync works so well on the new FS as a result of Apple implementing a fairly solid copyfile() for APFS.
[0] https://opensource.apple.com/source/rsync/rsync-20/patches/EA.diff.auto.html https://opensource.apple.com/source/rsync/rsync-20/patches/E...
[1] http://www.manpagez.com/man/3/copyfile/ http://www.manpagez.com/man/3/copyfile/
- trapperkeeper74 9y agoYou're looking in the wrong place. Install the homebrew version, it has 3 patches for macOS that aren't in the upstream. https://github.com/Homebrew/homebrew-core/blob/master/Formula/rsync.rb https://github.com/Homebrew/homebrew-core/blob/master/Formul...