I have one Annex meant to be kept in sync across two computers by the assistant. These computers can't connect directly, so I use a transfer repository (at rsync.net) and xmpp. Recently the two repositories have started to diverge: files added here do not appear there and vice versa, files modified here are not updated there and vice versa. It may be related to this bug: ?Jabber/xmpp not supported on Debian Wheezy backport since one of the two installed versions of git-annex is 5.20140117~bpo70+1, but I do not know whether the divergence started the day I upgraded to this version.
I tried this:
git-annex fsck --from rsync.net_annex
on both machines. No error is reported, but files are missing here and there and files differ here and there.
I stopped the assistant on both machines and tried to sync with:
git-annex sync
and got:
commit
ok
pull 'XXX'
fatal: Unable to find remote helper for 'xmpp'
failed
push 'XXX'
Pushing to XXX failed
(non-fast-forward problems can be solved by setting receive.denyNonFastforwards to false in the remote's git config)
failed
git-annex: sync: 2 failed
where 'XXX' stands for my jabber account. I then tried:
git-annex sync rsync.net_annex
but got:
git-annex: cannot sync special remotes: rsync.net_annex
This situation is unfortunate because the user is not made aware of anything failing. The assistant is running, the webapp shows files being uploaded to the transfer repository, but the two repositories are actually diverging.
How can I synchronize these two repositories?
Thanks,
In order to check whether this is related to https://git-annex.branchable.com/bugs/Jabber47xmpp_not_supported_on_Debian_Wheezy_backport/ I tried to downgrade git-annex to the previous version that was available on wheezy-backports (git-annex_4.20131106~bpo70+1_i386.deb) but then I get:
ok, now that git-annex has been updated to 5.20140117~bpo70+2 things start flowing again, so it was actually caused by http://git-annex.branchable.com/bugs/Jabber47xmpp_not_supported_on_Debian_Wheezy_backport/. Now there is a certain number of files called 'filename.variant.06b8' for instance. That is a bit messy.
I do not know wheter/how it would be possible to inform the user that something is going wrong, but certainely it would be better to avoid failing completely silently.
It would be useful if the webapp could give more precise information about the files the assistant is manipulating. For instance: "now uploading file 'bla', updating version last uploaded from 'remote' on 'date'".
Normally the webapp will tell you whenever it fails to sync with a remote. However, in this case, it had XMPP support compiled right out of it, so had no idea that remote even existed, and never tried to sync with it, so had no failure to report.
The ".variant" files are because you must have made files with the same names in the 2 repositories while they were disconnected.