Reconcile Version (Data Management)

Available with Standard or Advanced license.

Summary

Reconciles a version against another version in its lineage.

Legacy:

This is a deprecated tool. This functionality has been replaced by the Reconcile Versions tool.

Usage

  • The reconcile process requires that you are the only user currently editing the version and the only user able to edit the version throughout the reconcile process until you save or post.

  • The reconcile process requires that you have full permissions to all the feature classes that have been modified in the version being edited.

  • Versioning tools only work with ArcSDE data. File and Personal geodatabases don't support versioning.

  • The geodatabase is designed to efficiently manage and support long transactions using versions.

  • The reconcile process detects differences between the edit version and the target version and flags these differences as conflicts. If conflicts exist, they should be resolved.

Syntax

arcpy.management.ReconcileVersion(in_workspace, version_name, target_name, {conflict_definition}, {conflict_resolution}, {aquired_locks}, {abort_if_conflicts}, {post})
ParameterExplanationData Type
in_workspace

The ArcSDE geodatabase containing the reconcilable version. The default is to use the workspace defined in the environment.

Workspace
version_name

Name of the Edit Version to be reconciled with the Target Version.

String
target_name

Name of any version in the direct ancestry of the Edit version, such as the parent version or the default version.

String
conflict_definition
(Optional)

Describes the conditions required for a conflict to occur:

  • BY_OBJECTAny changes to the same row or feature in the parent and child versions will conflict during reconcile. This is the default.
  • BY_ATTRIBUTEOnly changes to the same attribute of the same row or feature in the parent and child versions will be flagged as a conflict during reconcile. Changes to different attributes will not be considered a conflict during reconcile.
String
conflict_resolution
(Optional)

Describes the behavior if a conflict is detected:

  • FAVOR_TARGET_VERSIONFor all conflicts, resolves in favor of the target version. This is the default.
  • FAVOR_EDIT_VERSIONFor all conflicts, resolves in favor of the edit version.
String
aquired_locks
(Optional)

Determines whether feature locks will be acquired.

  • LOCK_ACQUIREDAcquires locks when there is no intention of posting the edit session. This is the default.
  • NO_LOCK_ACQUIREDNo locks are acquired and the edit session will be posted to the target version.
Boolean
abort_if_conflicts
(Optional)

Determines if the reconcile process should be aborted if conflicts are found between the target version and the edit version.

  • NO_ABORTDoes not abort the reconcile if conflicts are found. This is the default.
  • ABORT_CONFLICTSAborts the reconcile if conflicts are found.
Boolean
post
(Optional)

Posts the current edit session to the reconciled target version.

  • NO_POSTCurrent edits will not be posted to the target version after the reconcile. This is the default.
  • POSTCurrent edits will be posted to the target version after the reconcile.
Boolean

Derived Output

NameExplanationData Type
out_workspace

The updated workspace.

Workspace

Code sample

The following stand-alone Python script uses the ReconcileVersion geoprocessing tool to reconcile a version with a version in the version's lineage and then posts that version.

# Name: ReconcileVersion_Example.py
# Description: Reconciles a version with a version in the version lineage and then posts that version

# Import system modules
import arcpy

# Set local variables
inWorkspace = "Database Connections/ninefour@gdb.sde"
versionName = "myVersion"
targetVersion = "dbo.DEFAULT"

# Execute ReconcileVersion
arcpy.ReconcileVersion_management(inWorkspace, versionName, targetVersion, "BY_OBJECT", "FAVOR_TARGET_VERSION", "LOCK_acquireD", "NO_ABORT", "POST")

Licensing information

  • Basic: No
  • Standard: Yes
  • Advanced: Yes