- First, the changes are applied to the synchronization version. The synchronization version is a child of the replica version. It is designed to temporarily hold these changes until they are reconciled and posted to the replica version. For two-way and one-way replicas, the version may not be created till synchronization time, while for checkout replicas, the version is created at creation time.
- Next, the synchronization version is reconciled against the replica version. The behavior at this step depends on the replica type:
- Two-way replicas—For two-way replicas, there can be conflicts during the reconcile. If there are conflicts, a reconcile policy is used to determine how to handle the conflicts. You can choose between automatic and manual reconcile policies during synchronization. See Synchronizing connected replicas and Synchronizing disconnected replicas to see how to apply these options in connected and disconnected environments. If there are no conflicts or conflicts are resolved by an automatic reconcile policy, the replica version is posted with the synchronization version.
- Checkout replicas—For checkout replicas, to reconcile and post are optional and not executed by default. If you choose to not reconcile and post, the changes remain in the synchronization version. You can then reconcile and post manually at a later time. If you do decide to reconcile and post, the behavior is the same as with two-way replicas.
- One-way replicas—With one-way replicas, changes in the replica version are always overwritten and there are never unresolved conflicts. When using a simple model type, the child replica's data may not be versioned. If this is the case, changes are applied directly to the base tables and versioning is not used when receiving changes. Changes are also directly overwritten for cases where the child replica is hosted in a personal or file geodatabase.
- Once the changes have been posted to the replica version, the synchronization version will be deleted. If you choose a manual reconcile policy and there are conflicts, it is up to you to perform the reconcile and post on your own at a later time. For two-way replicas, as long as the synchronization version exists, the replica is considered in conflict. While in conflict, changes can be received but not sent from the replica.
NOTE: It is recommended that you perform the reconcile and post while logged in as the owner of the replica. By default, the synchronization version is private and can only be accessed by the replica owner. If you make this version public, you can reconcile and save changes as a user other than the replica owner. However, you must post the changes while logged in as the replica owner.