Hi Patrick,

On Thu, 4 Nov 2010, Patrick Ohly wrote:
No surprise, I never really expected it to be complete ;-}

But it gave a good hint to me to allow at least one synchronisation.

"addressbook" is the real local name. The "URI" property sets an alias.
That should be checked somewhere by the code, so if you update your
SyncEvolution contact to have "uri = Contacts" in
"addressbook/config.ini", then it might work without the explicit
isDatastore hack.

I tried different uri parameters, fName is always “addressbook”, even if the XML shows <alias name='Contacts'/>. See the following gdb snippet:

Starting program: /home/knipp/opt/bin/syncevolution --run -z uri=Contacts c510 
addressbook
[…]
Breakpoint 1, sysync::TSyncDataStore::isDatastore (this=0xc55870,
    aDatastoreURI=0xc551c8 "Contacts")
    at 
/home/knipp/Downloads/syncevolution-1.1-c510/./src/synthesis/src/sysync/syncdatastore.cpp:146
146       if(!strcmp(fName.c_str(),"addressbook") && 
!strcmp(aDatastoreURI,"Contacts"))
(gdb) p fName.c_str()
$7 = 0xc696c8 "addressbook"

You can try it out by yourself by setting aLocalDatastoreURI to an empty string at line 3622 and changing line 4612 of syncsession.cpp to

      if (true || target.empty()) {

These changes would simulate the behaviour I see on the phone.


The synchronisation of the address book items itself shows some errors, but this might be because of the address book data, so I'll clean up the address book on the phone (after doing a backup) to start from scratch.

Kind regards,

Franz
_______________________________________________
SyncEvolution mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution

Reply via email to