Reconciles the current version with a target version.
[Visual Basic .NET] Public Function Reconcile2 ( _ ByVal VersionName As String, _ ByVal acquireLock As Boolean _ ) As Boolean
[C#] public bool Reconcile2 ( string VersionName, bool acquireLock );
[C++]
HRESULT Reconcile2(
BSTR VersionName,
VARIANT_BOOL acquireLock,
VARIANT_BOOL* foundConflicts
);
[C++]Parameters
VersionName [in] VersionName is a parameter of type BSTR acquireLock [in] acquireLock is a parameter of type VARIANT_BOOL foundConflicts [out, retval] foundConflicts is a parameter of type VARIANT_BOOL
Product Availability
Errors Returned
FDO_E_RECONCILE_VERSION_NOT_AVAILABLE: Unable to reconcile: the target version is currently being reconciled against.
FDO_E_VERSION_BEING_EDITED: Operation not allowed while the version is being edited.
FDO_E_VERSION_NOT_FOUND: The version could not be located.
Remarks
The Reconcile2 function reconciles the current
edit version with the specified target version. The target
version must be an ancestor of the current version or an error will
be returned. The target version name passed in is case-sensitive
and should take the form {owner}.{version_name} for example,
SDE.DEFAULT. The Boolean argument specifies if locks should be
obtained or not - true acquires the lock, false does not acquire
the locks.
If the returned Boolean value from Reconcile2 is
TRUE, then conflicts were detected. Otherwise no conflicts were
detected.
A reconcile can only be performed if no other users are
currently editing the version. As well, the target version cannot
concurrently be reconciling by a second application. See
IVersion::IVersionLocks for additional information
on detecting version locks.
The Reconcile2 method provides the ability to
either acquire or not acquire the version locks during the
reconcile process. If the locks are not acquired the version is
able to be reconciled in parallel when other versions are currently
being reconciled. One may desire this functionality when there is
no intention of posting the version after the reconcile process. If
the intention is to "post" the version after performing the
reconcile, it is strongly recommended that the locks are
acquired.
If one does attempt to post after performing the reconcile, there
is a chance that the target version might have been modified since
the reconcile - in this case, the version will have to be
re-reconciled. Therefore, the first reconcile is a waste of server
and client system resources.
Calling Reconcile will abort the current edit operation therefore any edits made within an open edit operation when reconcile is called will be lost. If there is an open edit operation it is good practice to call StopEditOperation prior to calling Reconcile