Reconcile Versions (Data Management)

License Level:BasicStandardAdvanced

Summary

Reconciles a version or multiple versions against a target version.

Usage

Syntax

ReconcileVersions_management (input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log})
ParameterExplanationData Type
input_database

The enterprise geodatabase that contains the versions to be reconciled. The default is to use the workspace defined in the environment.

Workspace
reconcile_mode

Determines which versions will be reconciled when the tool is executed.

  • ALL_VERSIONSReconciles edit versions with the target version. This is the default.
  • BLOCKING_VERSIONSReconciles versions that are blocking the target version from compressing. This option uses the recommended reconcile order.
String
target_version
(Optional)

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

Typically contains edits from other versions that the user performing the reconcile would like to pull into their edit version.

String
edit_versions
[edit_versions,...]
(Optional)

Name of the edit version or versions to be reconciled with the selected target version. This can be an individual version name or a Python list of version names.

String
acquire_locks
(Optional)

Determines whether feature locks will be acquired.

  • LOCK_ACQUIREDAcquires locks during the reconcile process. This should be used when the intention is to post edits. It ensures that the target version is not modified in the time between the reconcile and post operations. This is the default.
  • NO_LOCK_ACQUIREDNo locks are acquired during the reconcile process. This allows multiple users to reconcile in parallel. It should be used when the edit version will not be posted to the target version because there is a possibility that the target version could be modified in the time between the reconcile and post operations.
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
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.
Boolean
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
with_post
(Optional)

Posts the current edit session to the reconciled target version.

  • NO_POSTCurrent edit version will not be posted to the target version after the reconcile. This is the default.
  • POSTCurrent edit version will be posted to the target version after the reconcile.
Boolean
with_delete
(Optional)
  • DELETE_VERSIONCurrent edit version that was reconciled will be deleted after being posted to the target version.
  • KEEP_VERSIONCurrent edit version that was reconciled will not be deleted. This is the default.
Boolean
out_log
(Optional)

Specify a name and location to where the log file will be written. The log file is an ASCII file containing the contents of the geoprocessing messages.

File

Code Sample

ReconcileVersions example (stand-alone script):

The following stand-alone script demonstrates how to use the ReconcileVersions tool to reconcile all versions owned by the user specified in the SDE connection file.

# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default

# Import system modules
import arcpy, os
from arcpy import env

# Set workspace
workspace = 'Database Connections//bender@production.sde'

# Set the workspace environment
env.workspace = workspace

# Use a list comprehension to get a list of version names where the owner
# is the current user and make sure sde.default is not selected.
verList = [ver.name for ver in arcpy.da.ListVersions() if ver.isOwner
           == True and ver.name.lower() != 'sde.default']

arcpy.ReconcileVersions_management(workspace,
                                   "ALL_VERSIONS",
                                   "SDE.Default",
                                   verList,
                                   "LOCK_ACQUIRED",
                                   "NO_ABORT",
                                   "BY_OBJECT",
                                   "FAVOR_TARGET_VERSION",
                                   "NO_POST",
                                   "KEEP_VERSION",
                                   "c:\RecLog.txt")
print 'Reconciling Complete'

Environments

Related Topics

Licensing Information

ArcGIS for Desktop Basic: No
ArcGIS for Desktop Standard: Yes
ArcGIS for Desktop Advanced: Yes
11/18/2013