ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Core.Data Namespace / Version Class / Reconcile Method / Reconcile(ReconcileOptions) Method
If ReconcileOptions.TargetVersion is not specified in reconcileOptions, then the target version is the Default version.
Example

In This Topic
    Reconcile(ReconcileOptions) Method
    In This Topic
    Reconciles this version against a target version specified in reconcileOptions. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Overloads Function Reconcile( _
       ByVal reconcileOptions As ReconcileOptions _
    ) As ReconcileResult

    Parameters

    reconcileOptions
    If ReconcileOptions.TargetVersion is not specified in reconcileOptions, then the target version is the Default version.

    Return Value

    An instance of ReconcileResult indicating the results of the operation.
    Exceptions
    ExceptionDescription
    reconcileOptions is null.

    This operation is not supported in client-server mode because the data store supports multi-branch versioning.

    -or-

    Multi-branch versioning does not support a ConflictResolutionType that favors the target version.

    Reconcile cannot be performed in an active edit session.
    A geodatabase-related exception has occurred.
    This method or property must be called within the lambda passed to QueuedTask.Run
    Example
    Reconciling and Posting a Version with its Parent in separate edit sessions
    public void ReconcileAndPost(Geodatabase geodatabase)
    {
      // Get a reference to our version and our parent
      if (geodatabase.IsVersioningSupported())
      {
        using (VersionManager versionManager = geodatabase.GetVersionManager())
        using (Version currentVersion = versionManager.GetCurrentVersion())
        using (Version parentVersion = currentVersion.GetParent())
        {
    
          //// Create a ReconcileDescription object
          //At 2.x - 
          //ReconcileDescription reconcileDescription = new ReconcileDescription(parentVersion);
          //reconcileDescription.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
          //reconcileDescription.WithPost = true;
    
          //// Reconcile and post
          //ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileDescription);
    
          // ReconcileResult.HasConflicts can be checked as-needed
    
          // Create a ReconcileOptions object
          var reconcileOptions = new ReconcileOptions(parentVersion);
          reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
          reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByRow; //Default
          reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorTargetVersion;//or FavorEditVersion
    
          // Reconcile
          ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileOptions);
          if (!reconcileResult.HasConflicts)
          {
            //No conflicts, perform the post
            var postOptions = new PostOptions(parentVersion);
            //var postOptions = new PostOptions(); for default version
            postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;//Default
            currentVersion.Post(postOptions);
          }
    
        }
      }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    See Also