FAQ: What is the expected edit operation behavior and the number of database states created during a reconcile?
What is the expected edit operation behavior and the number of database states created during a reconcile?
When a reconcile is performed either in ArcMap or using the IVersionEdit.Reconcile method, the operation starts and stops multiple edit operations that correspond to multiple states in the database.
The reconcile operation first checks to see if the session is currently in an edit operation. If it is in an edit operation, the current edit operation is aborted and all modifications in the edit operation are rolled back. Next, the geodatabase starts an edit operation for the event OnBeginReconcile (a new event with ArcGIS 9.2). The edit operation for the event is a new state on the source version's lineage (the version being reconciled). Once control is returned to the geodatabase after the event, the edit operation is stopped. The next step performed by the reconcile is to start another edit operation, which is a new state on the target version's lineage. This edit operation is used by the reconcile process to copy all non-conflicting objects to the target state. Finally, when the reconcile completes, the event OnReconcile is fired.
If the reconcile is performed with ArcMap, three edit operations will occur. If IVersionEdit.Reconcile is used programmatically and not within an edit operation, only two edit operations will occur.