>The reason for this is that the changelog is shared between multiple >profiles (multiple servers), and thus the changelog entries are >created when ANY of the profiles first sees the entry.
Ah, I now remember you have mentioned PRO version synthesis client use multi-profiles sharing the same changelog. On the other hand syncevolution support multi-profiles with separated changelogs. This is why it works for syncevolution but not a generic good solution. >Now, to fix the problem in a generic way such that multi-profile will >still work the following could be done: >- extend the changelog to have a modcount_created field, and set it >with the current modcount instead of setting the chgl_newadd flag. >- in implGetItem(), compare the changelog entry's modcount_created >with the current modcount to safely determine if the record is an add >or a replace. Thanks pointing the way, I will change it. >Furthermore, I see no need for sop_soft_add, because if we safely know >which items are really adds, the client can send them as <Add> >commands to the server. I found and also Patrick has pointed out there was some discussions relates to this behavior and the conclusion was send Replace for Add is better than openly send Add for Add. http://bugzilla.moblin.org/show_bug.cgi?id=2423#c31 We are a bit conservative to change the client side behavior. From your experience, do you think "sending Add for Add" works for most real world servers as good as the old "sending Replace for Add" behavior? Regards, Congwu _______________________________________________ os-libsynthesis mailing list [email protected] http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis
