Réconcilier des versions (Gestion des données)

Synthèse

Réconcilie une ou plusieurs versions avec une version cible.

En savoir plus sur la procédure de réconciliation et de réinjection des versions

Utilisation

  • Le processus de réconciliation nécessite que vous soyez le seul utilisateur qui met à jour actuellement la version et le seul utilisateur qui va mettre à jour la version dans tout le processus de réconciliation jusqu’à son enregistrement ou sa réinjection.

  • Le processus de réconciliation nécessite que vous ayez pleinement accès à toutes les classes d'entités modifiées dans la version en cours de modification.

  • Les outils de versionnement fonctionnent avec les géodatabases d’entreprise. Les géodatabases fichier ne prennent pas en charge le versionnement.

  • Cet outil prend en charge les opérations de réconciliation et de réinjection des données publiées à partir d’un espace de travail de branche avec les fonctionnalités de gestion des versions activées. Les opérations de réconciliation et de réinjection pour le versionnement de branche à l’aide d’un fichier de connexion à une base de données ne sont pas prises en charge.

  • Licence :
    En cas d’utilisation du versionnement de branche dans un déploiement ArcGIS Enterprise de version 11.2 ou ultérieure, une licence doit être attribuée aux membres de l’organisation pour l’extension du type d’utilisateur ArcGIS Advanced Editing pour qu’ils puissent utiliser cet outil.

Paramètres

ÉtiquetteExplicationType de données
Espace de travail en entrée

Géodatabase d'entreprise contenant les versions à réconcilier.

Pour le versionnement de branche, il s’agit de l’URL du service d’entités (à savoir, https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer) ou de l’élément de portail de la couche d’entités.

Workspace
Mode de réconciliation

Spécifie les versions à réconcilier lorsque l’outil est exécuté.

Si l’entrée est un espace de travail de branche, le seul choix valide pour ce paramètre est de réconcilier toutes les versions.

  • Réconcilier toutes les versionsLes versions de mise à jour sont réconciliées avec la version cible. Il s’agit de l’option par défaut.
  • Réconcilier les versions de blocage uniquementLes versions qui empêchent la version cible d’être compressée sont réconciliées. Cette option utilise l'ordre de réconciliation recommandé.
String
Version cible
(Facultatif)

Nom de toute version ayant un lien direct avec la version de mise à jour, telle que la version parent ou la version par défaut.

Elle contient généralement des mises à jour provenant d’autres versions que vous voulez inclure dans la version de mise à jour.

Si l’entrée est un espace de travail de branche, le seul choix valide pour ce paramètre est de procéder à la réconciliation avec la version par défaut.

String
Versions de mise à jour
(Facultatif)

Nom de la version de mise à jour à réconcilier avec la version cible sélectionnée.

Seules les versions ayant un lien direct avec la version cible sélectionnée s'affichent.

String
Acquérir les verrous
(Facultatif)

Spécifie si l’acquisition des verrous d’entités est nécessaire.

Si l’entrée est un espace de travail de branche, aucun verrou n’est acquis au cours du processus de réconciliation.

  • Activé : les verrouillages sont acquis pendant le processus de réconciliation. Utilisez cette option lorsque vous avez l’intention d’injecter des mises à jour. Elle permet de garantir que la version cible ne sera pas modifiée au cours du laps de temps entre les opérations de réconciliation et de réinjection. Il s’agit de l’option par défaut.
  • Désactivé : les verrouillages ne sont pas acquis pendant le processus de réconciliation. Cela permet à plusieurs utilisateurs d'effectuer une réconciliation en parallèle. Utilisez cette option lorsque la version de mise à jour n’est pas réinjectée dans la version cible car celle-ci peut faire l’objet de modifications entre les opérations de réconciliation et de réinjection.
Boolean
Abort if Conflicts Detected (Abandonner si des conflits sont détectés)
(Facultatif)

Indique si le processus de réconciliation s’arrête lorsque des conflits sont détectés entre la version cible et la version de mise à jour au cours du processus de réconciliation.

  • Activé : la réconciliation s’arrête lorsque des conflits sont détectés.
  • Désactivé : la réconciliation ne s’arrête pas lorsque des conflits sont détectés. Il s’agit de l’option par défaut.
Boolean
Définition des conflits
(Facultatif)

Indique si les conditions requises pour que se produise un conflit sont définies par objet (ligne) ou attribut (colonne).

  • Conflits définis par objet (par ligne)Les conflits sont définis par objet. Un conflit est détecté lors de la réconciliation dès lors qu'une même ligne ou entité a été modifiée dans les versions parent et enfant. Il s’agit de l’option par défaut.
  • Conflits définis par attribut (par colonne)Les conflits sont définis par attribut. Un conflit est détecté lors de la réconciliation uniquement si des modifications sont apportées au même attribut (colonne) de la même ligne ou de la même entité dans les versions parents et enfants. Les modifications apportées à d’autres attributs ne génèrent pas de conflit lors de la réconciliation.
String
Résolution des conflits
(Facultatif)

Indique la méthode de résolution utilisée si un conflit est détecté.

Si l’entrée est un espace de travail de branche, le comportement par défaut consiste à favoriser la version de mise à jour.

  • Résoudre les conflits en faveur de la version cibleTous les conflits sont résolus en faveur de la version cible. Il s’agit de la valeur par défaut pour le versionnement traditionnel.
  • Résoudre les conflits en faveur de la version de mise à jourTous les conflits sont résolus en faveur de la version de mise à jour. Il s’agit de la valeur par défaut pour le versionnement de branche.
String
Post Versions After Reconcile (Réinjecter les versions après la réconciliation)
(Facultatif)

Spécifie si la session de mise à jour actuelle est réinjectée dans la version cible réconciliée.

  • Activé : la version de mise à jour actuelle sera réinjectée dans la version cible après la réconciliation.
  • Désactivé : la version de mise à jour actuelle ne sera pas réinjectée dans la version cible après la réconciliation. Il s’agit de l’option par défaut.
Boolean
Delete Versions After Post (Supprimer les versions après la réinjection)
(Facultatif)

Spécifie si la session de mise à jour actuelle sera supprimée après avoir été réinjectée. Ce paramètre ne s’applique que si le paramètre Réinjecter les versions après la réconciliation est activé.

  • Activé : la version de mise à jour actuelle qui a été réconciliée sera supprimée après avoir été réinjectée dans la version cible.
  • Désactivé : la version de mise à jour actuelle qui a été réconciliée ne sera pas supprimée. Il s’agit de l’option par défaut.
Boolean
Reconcile Versions Log (Journal de réconciliation des versions)
(Facultatif)

Nom et emplacement dans lequel le fichier journal est écrit. Le fichier journal est un fichier ASCII qui contient le contenu des messages de géotraitement.

File
Continuer si des conflits non examinés sont détectés
(Facultatif)

Indique si la réconciliation se poursuit si des conflits non examinés existants sont détectés avant le début du processus de réconciliation. Si vous continuez, les conflits existants des sessions précédentes sont perdus lors de l’exécution de l’outil. Ce paramètre s’applique uniquement au versionnement de branche.

  • Cochée : le processus de réconciliation se poursuit si des conflits non examinés existants sont détectés. Il s’agit de l’option par défaut.
  • Non cochée : le processus de réconciliation ne se poursuit pas si des conflits non examinés existants sont détectés.
Boolean
Réconcilier les versions des réplicas d’extraction
(Facultatif)

Indique si le processus de réconciliation inclut les versions de réplicas d’extraction. Si vous créez un réplica d’extraction dans le cadre d’un processus de réplication de géodatabase, une version associée est créée dans la géodatabase. Cette option vous permet d’inclure ou de retirer ces types de versions de la liste des versions à réconcilier. Ce paramètre n’est pas applicable au versionnement de branche.

  • Activé : le processus de réconciliation inclut les versions des réplicas d’extraction. Il s’agit de l’option par défaut.
  • Désactivé : le processus de réconciliation n’inclut pas les versions des réplicas d’extraction.

Boolean

Sortie obtenue

ÉtiquetteExplicationType de données
Espace de travail en entrée mis à jour

Espace de travail en entrée mis à jour.

Workspace

arcpy.management.ReconcileVersions(input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log}, {proceed_if_conflicts_not_reviewed}, {reconcile_checkout_versions})
NomExplicationType de données
input_database

Géodatabase d'entreprise contenant les versions à réconcilier. L’option par défaut consiste à utiliser l’espace de travail courant comme environnement de géotraitement.

Pour le versionnement de branche, il s’agit de l’URL du service d’entités (à savoir, https://mysite.mydomain/server/rest/services/ElectricNetwork/FeatureServer).

Workspace
reconcile_mode

Spécifie les versions à réconcilier lorsque l’outil est exécuté.

Si l’entrée est un espace de travail de branche, le seul choix valide pour ce paramètre est de réconcilier toutes les versions.

  • ALL_VERSIONSLes versions de mise à jour sont réconciliées avec la version cible. Il s’agit de l’option par défaut.
  • BLOCKING_VERSIONSLes versions qui empêchent la version cible d’être compressée sont réconciliées. Cette option utilise l'ordre de réconciliation recommandé.
String
target_version
(Facultatif)

Nom de toute version ayant un lien direct avec la version de mise à jour, telle que la version parent ou la version par défaut.

Elle contient généralement des mises à jour provenant d’autres versions que vous voulez inclure dans la version de mise à jour.

Si l’entrée est un espace de travail de branche, le seul choix valide pour ce paramètre est de procéder à la réconciliation avec la version par défaut.

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

Nom de la version de mise à jour à réconcilier avec la version cible sélectionnée. Il peut s’agir du nom d’une version individuelle ou d’une liste de noms de version.

String
acquire_locks
(Facultatif)

Spécifie si l’acquisition des verrous d’entités est nécessaire.

Si l’entrée est un espace de travail de branche, aucun verrou n’est acquis au cours du processus de réconciliation.

  • LOCK_ACQUIREDLes verrouillages sont acquis pendant le processus de réconciliation. Utilisez cette option lorsque vous avez l’intention d’injecter des mises à jour. Elle permet de garantir que la version cible ne sera pas modifiée au cours du laps de temps entre les opérations de réconciliation et de réinjection. Il s’agit de l’option par défaut.
  • NO_LOCK_ACQUIREDLes verrouillages sont acquis pendant le processus de réconciliation. Cela permet à plusieurs utilisateurs d'effectuer une réconciliation en parallèle. Utilisez cette option lorsque la version de mise à jour n’est pas réinjectée dans la version cible car celle-ci peut faire l’objet de modifications entre les opérations de réconciliation et de réinjection.
Boolean
abort_if_conflicts
(Facultatif)

Indique si le processus de réconciliation s’arrête lorsque des conflits sont détectés entre la version cible et la version de mise à jour au cours du processus de réconciliation.

  • NO_ABORTLa réconciliation ne s’arrête pas lorsque des conflits sont détectés. Il s’agit de l’option par défaut.
  • ABORT_CONFLICTSLa réconciliation s’arrête lorsque des conflits sont détectés.
Boolean
conflict_definition
(Facultatif)

Indique si les conditions requises pour que se produise un conflit sont définies par objet (ligne) ou attribut (colonne).

  • BY_OBJECTLes conflits sont définis par objet. Un conflit est détecté lors de la réconciliation dès lors qu'une même ligne ou entité a été modifiée dans les versions parent et enfant. Il s’agit de l’option par défaut.
  • BY_ATTRIBUTELes conflits sont définis par attribut. Un conflit est détecté lors de la réconciliation uniquement si des modifications sont apportées au même attribut (colonne) de la même ligne ou de la même entité dans les versions parents et enfants. Les modifications apportées à d’autres attributs ne génèrent pas de conflit lors de la réconciliation.
String
conflict_resolution
(Facultatif)

Indique la méthode de résolution utilisée si un conflit est détecté.

Si l’entrée est un espace de travail de branche, le comportement par défaut consiste à favoriser la version de mise à jour.

  • FAVOR_TARGET_VERSIONTous les conflits sont résolus en faveur de la version cible. Il s’agit de la valeur par défaut pour le versionnement traditionnel.
  • FAVOR_EDIT_VERSIONTous les conflits sont résolus en faveur de la version de mise à jour. Il s’agit de la valeur par défaut pour le versionnement de branche.
String
with_post
(Facultatif)

Spécifie si la session de mise à jour actuelle est réinjectée dans la version cible réconciliée.

  • NO_POSTLa version de mise à jour actuelle ne sera pas réinjectée dans la version cible après la réconciliation. Il s’agit de l’option par défaut.
  • POSTla version de mise à jour actuelle sera réinjectée dans la version cible après la réconciliation.
Boolean
with_delete
(Facultatif)

Spécifie si la session de mise à jour actuelle sera supprimée après avoir été réinjectée. Ce paramètre ne s’applique que si le paramètre with_post a pour valeur POST.

  • DELETE_VERSIONLa version de mise à jour actuelle qui a été réconciliée sera supprimée après avoir été réinjectée dans la version cible.
  • KEEP_VERSIONLa version de mise à jour actuelle qui a été réconciliée ne sera pas supprimée. Il s’agit de l’option par défaut.
Boolean
out_log
(Facultatif)

Nom et emplacement dans lequel le fichier journal est écrit. Le fichier journal est un fichier ASCII qui contient le contenu des messages de géotraitement.

File
proceed_if_conflicts_not_reviewed
(Facultatif)

Indique si la réconciliation se poursuit si des conflits non examinés existants sont détectés avant le début du processus de réconciliation. Si vous continuez, les conflits existants des sessions précédentes sont perdus lors de l’exécution de l’outil. Ce paramètre s’applique uniquement au versionnement de branche.

  • PROCEEDLe processus de réconciliation se poursuit si des conflits non examinés existants sont détectés. Il s’agit de l’option par défaut.
  • NOT_PROCEEDLe processus de réconciliation ne se poursuit pas si des conflits non examinés existants sont détectés.
Boolean
reconcile_checkout_versions
(Facultatif)

Indique si le processus de réconciliation inclut les versions de réplicas d’extraction. Si vous créez un réplica d’extraction dans le cadre d’un processus de réplication de géodatabase, une version associée est créée dans la géodatabase. Cette option vous permet d’inclure ou de retirer ces types de versions de la liste des versions à réconcilier. Ce paramètre n’est pas applicable au versionnement de branche.

  • RECONCILELe processus de réconciliation inclut les versions des réplicas d’extraction. Il s’agit de l’option par défaut.
  • DO_NOT_RECONCILELe processus de réconciliation n’inclut pas les versions des réplicas d’extraction.
Boolean

Sortie obtenue

NomExplicationType de données
out_workspace

Espace de travail en entrée mis à jour.

Workspace

Exemple de code

Exemple d’utilisation de l’outil ReconcileVersions (script autonome)

Le script autonome ci-après montre comment utiliser la fonction ReconcileVersions pour réconcilier toutes les versions que l’utilisateur spécifié possède dans le fichier de connexion à une base de données.

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

# Import system modules
import arcpy, os

# Set workspace
workspace = 'C:/Data/connections/bender@production.sde'

# Set the workspace environment
arcpy.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')

Informations de licence

  • Basic: Non
  • Standard: Limité
  • Advanced: Limité

Rubriques connexes