>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

Reply via email to