Comment # 1
on bug 76471
from Patrick Ohly
(In reply to comment #0)
> I've got a samsung nexus with android 4.3 with a few contacts (just for
> testing). The phone is paired over bluetooth with my laptop. I did an
> initial sync with those commands:
>
> syncevolution --configure \
> syncURL= \
> addressbook/backend=pbap \
> addressbook/database=obex-bt://$mac_addr \
> target-config@pbap addressbook
>
> syncevolution --configure \
> --template SyncEvolution_Client \
> --keyring=no \
> syncURL=local://@pbap \
> pbap
>
> syncevolution --sync refresh-from-client pbap addressbook
>
> This imports all contacts perfectly.
>
> Then on the android phone I edit a
> contact and add an email address, and run that command on laptop to sync:
>
> syncevolution pbap addressbook
>
> And it says there are no changes.
What is the exact output? Which sync mode were you using?
With the commands above, it should attempt a two-way sync. That mode does not
work with PBAP, because the protocol and thus source are read-only.
The expected outcome is that a slow sync should be enforced, which by default
is not executed unless the user consents. I just tried, and I got (as
expected):
+---------------|-----------------------|-----------------------|-CON-+
| | @default | @default | FLI |
| Source | NEW | MOD | DEL | ERR | NEW | MOD | DEL | ERR | CTS |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| galaxy-eds | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| unexpected slow sync (local, status 22000) |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
| start Tue Mar 25 15:42:00 2014, duration 0:02min |
| unexpected slow sync (local, status 22000) |
+---------------+-----+-----+-----+-----+-----+-----+-----+-----+-----+
First ERROR encountered: local, status 20048
Doing a slow synchronization may lead to duplicated items or
lost data when the server merges items incorrectly. Choosing
a different synchronization mode may be the better alternative.
Restart synchronization of affected source(s) with one of the
following sync modes to recover from this problem:
slow, refresh-from-server, refresh-from-client
The message has not been updated to cover read-only sources and/or the new
"caching" mode. It should detect that the remote pbap source cannot do
incremental syncing and therefore suggest refresh-from-remote or
local-cache-incremental.
Using "--sync local-cache preventslowsync=0" worked for me here. That
preventslowsync=0 has to be specified explicitly is a bit unexpected. It should
be implied automatically by local-cache or local-cache-incremental. I'll fix
that.
Obviously this PBAP caching feature has not been polished for "normal" users. I
did not expect someone to be interested in using it.