Hi,
I've been trying to work on a merging scenario using syncevolution as a
client.
The steps that I followed in this scenario are as follows
1. Created a contact with TEL;CELL:12456399
2. Perform slow sync with server
3. Modify the field in client vCard as TEL;CELL:12456300
4. Wait for 5min to ensure sufficient difference between the
modification time stamps.
5. Modified the field as TEL;CELL:12456391 on server.
6. Perform a two-way sync.
vCard before sync:
BEGIN:VCARD
REV:20140425T113334Z
N:last;first;middle;prefix;suffix
TEL;CELL:12456399
VERSION:2.1
UID:1000101
X-CT:PERSON
END:VCARD
vCard after sync
BEGIN:VCARD
REV:20140425T165221Z
N:last;first;middle;prefix;suffix
TEL;CELL:12456391
TEL;CELL:12456300
VERSION:2.1
UID:1000101
X-CT:PERSON
END:VCARD
What was expected is that the server wins the conflict as the data was
modified last at server and result be as follows
BEGIN:VCARD
REV:20140425T165221Z
N:last;first;middle;prefix;suffix
TEL;CELL:12456391
VERSION:2.1
UID:1000101
X-CT:PERSON
END:VCARD
Instead the data was duplicated in the vCard
While for server the data remains as modified i.e. TEL;CELL:12456391
Fieldlist entries:
<field name="TEL" array="yes" compare="conflict" type="telephone"/>
<field name="TEL_FLAGS" array="yes" compare="conflict"
type="integer"/>
While going through the code in file SyncSource.cpp found the following
lines.
" <!-- conflict strategy: Newer item wins\n"
" You can set 'server-wins' or 'client-wins' as well\n"
" if you want to give one side precedence\n"
" -->\n"
" <conflictstrategy>newer-wins</conflictstrategy>\n"
"\n"
This shows that syncevolution should have discarded the local entry and
replaced it with the entry from server.
Kindly suggest a way to correct or control this merging.
Thank You,
Rajesh
_______________________________________________
os-libsynthesis mailing list
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis