Tom Parker wrote:
Armin Bauer <[EMAIL PROTECTED]> wrote:


Tom Parker wrote:


http://sourceforge.net/mailarchive/forum.php?thread_id=6221779&forum_id=12899


Has anyone solved it in a hackish kind of way? I understand most


i dont think that there is a solution already for the current multisync version. After all i also started opensync to be able to fix these problems without applying a major hack each time.


We'll I've done it. See the attached patch against a snapshot I downloaded
about 3 days ago. It probably wants some sort of configuration option hung
around it as it may not be so good in all cases. It will probably fall over
when or if Evolution outputs a version 3 feature that the phone doesn't
understand. My c skills are somewhat rusty, but this solution seems to work.


yes. thats what i meant with "major hack". :) Like you said yourself, this will break phones that dont understand some options of 3.0.


no i dont think that the debian package is missing bugfixes. The
duplication checking code in the current multisync is very simple and
wont catch duplicates in a lot of cases.


I think nearly all of my confusion has been to do with poor duplicate
detection and the resync button not actually doing what I expected.


The "resync" button does a slow-sync. This means that each device is
queried for all items (instead of only the changes). This helps if the
device does not return the changes but might lead to duplication.


I think I read here that this doesn't work with evolution 2. Certainly it
doesn't work for me.

ah right. for the resync to work the plugins must support a special function "get all objects", but the evo2 plugin in multisync 0.8X does not have this. to make a quick fix go to ~/.evolution/addressbook/local/system/ (for the "Personal" addressbook) and delete the *.changes.db files.


-- Tom Parker - [EMAIL PROTECTED] - http://www.carrott.org


------------------------------------------------------------------------

*** multisync_orig/plugins/evolution2_sync/src/evolution_sync.c Sat Nov 27 
05:08:20 2004
--- multisync/plugins/evolution2_sync/src/evolution_sync.c      Thu Apr 14 
19:43:46 2005
***************
*** 176,181 ****
--- 176,192 ----
                        ebc = (EBookChange *)object;
                        EVCard vcard = ebc->contact->parent;
                        *data = e_vcard_to_string(&vcard, EVC_FORMAT_VCARD_30);
+                       {
+                               // this is a hack by [EMAIL PROTECTED] to make 
evolution 2 work
+                               // with Siemens SyncML phones. So far, the only 
property of the
+                               // version 3 vcard that needs changing is the 
version number. See
+                               // this outdated wiki page:
+                               // 
http://wiki.ciaweb.net/yawiki/index.php?area=Contact_Vcard&page=HomePage&dt=2004-03-13%2019:01:23
+                               char *offset = strstr(*data, "VERSION:3.0");
+                               if (offset) {
+                                       memcpy(offset, "VERSION:2.1", 
strlen("VERSION:2.1"));
+                               }
+                       }
                        *uid = e_contact_get_const(ebc->contact, E_CONTACT_UID);
                        //*datasize = strlen(*data) + 1;
                        switch (ebc->change_type) {

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to