As I mentioned earlier, I am still confused about the purpose of the production ZSyncer instance. You suggested that in order to have client-server for the XMLRPC dialogue, this was necessary. I would have thought that merely by installing the product, this was sufficient. The destinations would then highlight nodes in file systems much as any other copy tool (ie cp, rsync, CVS, rcp, tar ...)
From a "thousand-mile-away" POV, you need the dest object because the source needs a remote object to call methods on. Some of those methods include "Get-me-a-list-of-objects-in-this-folder", and "update-this-object-with-this-new-one". Zope doesn't know how to handle these requests, but ZSyncer does. The remote Zope gets handed an XMLRPC call, unwraps it, and calls the appropriate method on the remote object, which returns the information. Better? If not, you need the remote because XMLRPC is client/server, and the remote instance is the server. Now back to your problem ... You need some good old-fashioned "print-debugging" ;) I would, as I said, sprinkle prints through the source code, refresh the ZSyncer product, and then try again, trying to figure out exactly which line in the client is the one that is causing the problem. If yolu notice that you get to a point where the request has been sent to the remote instance, add prints to *that* code, refresh that Product, try again, and check the output from the remote instance ... until you find the exact line that causes the "comparison" problem. HTH Ziniti