This falls into the category of "noob questions" I think.
The one piece of the git-annex assistant puzzle I've never messed with is XMPP pairing. I'm wondering how well a pair of repos can keep in sync with each other if their only connection is via XMPP. Will things go badly if changes are made to one while the other is offline? Do messages get queued up to deliver when they're both online? (Or do they get queued on the server side so they can be delivered even if one of them is online, makes changes, then goes offline, and the other one comes online later?)
If some xmpp messages don't go through for whatever reason, will the remotes be able to "catch up" with each other later on and make up for lost time?
Just hoping for a general sense of the limitations of XMPP pairing. TIA.
Both clients have to be online at the same time for XMPP push to work. Once they're able to see each other, they'll sync up, even if they've diverged since the last sync.
If you tend to only have one client or the other online, you should set up a git repo on a ssh server. Then clients will drop off their changes there, and the other one will check it when it comes online. (You don't really need to use XMPP at all in this case.)
The most robust and fast combo is to use XMPP pairing, and also have a git repo on a ssh server. This way, when both clients are online, they'll use XMPP to instantly propagate changes, and when not the server is there to fall back to.