Which one will act as client & which one as server?
It doesn't matter in this case. Usually it is more efficient to use the DB which can be accessed more quickly on the server side.

What I meant was that which one would be "remote" & which one would be "local". If one calendar is read-only I may want to perform a one-way sync(--sync one-way-from-remote). Technically, whichever context is used with "taget-config", is treated as "remote" in syncevolution. Is that same here?

Coming back to the example, here's how a two-way sync of these two DBs can be set up: syncevolution --configure --template none sync=two-way target-config@EDS personalcal syncevolution --configure --template SyncEvolution_Client syncURL=local://@EDS sync=two-way uri=personalcal calendars@Local workcal syncevolution --sync slow calendars syncevolution calendars # incremental sync

Thanks. That Worked.