Just a quick and dirty extraction of the code. Doesn't work!
Got actually working!
Removed CSS file (not necessary).
Filter for profile and remove extra markup.
Got it respecting which sites clients have access to (via hosting_client).
Optionally create backup of destination before sync.
Put the 'Sync' task on the destination and allow selecting the source (instead of the reverse). Even in development, I've accidentally sync'd to the wrong site more than once. ;-) I'm hoping this will make that harder to do since you have to first navigate to the site you want to overwrite.
Added options for sync'ing modules, themes and libraries.
Issue #2037065: Missing option handling for modules, themes and libraries.
Implemented more sophisticated site compatibility checking. Needs some UI improvements/fixes though!
Stole a whole bunch of code from the migrate task to allow viewing the differences between platforms.
Issue #2098441: "Sync data" task showing when site is still installing, disabled or deleted
Update README to mention hosting_http_basic_auth
Add 'hosting_sync/' from commit '0f07d9eeaee7af34fce5755a795c8afee9807605'

git-subtree-dir: hosting_sync
git-subtree-mainline: 2be04659cdd3c806b868b68f3fac11ae4b25d79a
git-subtree-split: 0f07d9eeaee7af34fce5755a795c8afee9807605
Add hosting feature hook
README update
Issue #2170925 by helmo: Added Rebuild registry after sync.
Issue #2160601 by helmo: Add update_uri task to update URI in database content for hosting_sync.
Avoid notice from optional task argument
Issue #2188117 by ergonlogic, helmo: Don't allow 'sync' task on hostmaster site.