GD_Lionel

Reconciling "edits" newly created data -> conflicts

Discussion created by GD_Lionel on Nov 22, 2018

Hello,

 

we are currently tracing down a strange effect we have in out application with versioning, reconcile and post.
It looks like as if the reconcile from one level to another EDITS the data that was recently created and posted.

 

We have few levels of version layers in out application.

 

DEFAULT
   |
Level1
   |
Level2
   |
Level3

 

following steps:

 

1. Create data rows in Level3
2. Reconcile and post data to Level2
3. Reconcile from Level2 with Level1 (!!!!)
4. Delete data from Step 1. in Level3
5. Reconcile from Level3 with Level2.

 

Step 5. leads to delete-update conflicts with the data rows that were deleted in step 4.

 

I don't understand why that happens. We found out, that the reconcile from step 3 leads to this effect. Why is the reconcile "editing" the data?
With ArcMap, however, this does not happen.

 

Here is our code that reconciles - maybe there is something wrong?

private static void ReconcileAndPost(string targetLevel, IMultiuserWorkspaceEdit sourceWorkspace)
{    sourceWorkspace.StartMultiuserEditing(esriMultiuserEditSessionMode.esriMESMVersioned);
    ((IWorkspaceEdit)sourceWorkspace).StartEditOperation();

 

    var versionLevel2Edit = sourceWorkspace as IVersionEdit4;
    var reconcileResult = versionLevel2Edit.Reconcile4(targetLevel, acquireLock: true, abortIfConflicts: false, ChildWins: true, ColumnLevel: true);
    versionLevel2Edit.Post(targetLevel);

 

    ((IWorkspaceEdit)sourceWorkspace).StopEditOperation();
    ((IWorkspaceEdit)sourceWorkspace).StopEditing(true);
}

Outcomes