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 modifie actuellement la version et le seul utilisateur qui modifie la version tout au long du 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 correspond à un espace de travail de branche, la seule option valide pour ce paramètre consiste à 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 à inclure dans la version de mise à jour.

Si l’entrée correspond à un espace de travail de branche, la seule option valide pour ce paramètre consiste à effectuer une 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)

Indique si une acquisition des verrous d’entités est nécessaire.

Si l’entrée est un espace de travail de branche, les verrous ne sont pas acquis au cours du processus de réconciliation.

  • Cochée : les verrous sont acquis pendant le processus de réconciliation. Utilisez cette option si vous avez l’intention de réinjecter les mises à jour. Il 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 d'injection. Il s’agit de l’option par défaut.
  • Non cochée : les verrous 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 en raison de la possibilité que la version cible soit modifiée dans le laps de temps 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 est annulé si des conflits sont détectés entre la version cible et la version de mise à jour au cours du processus de réconciliation.

  • Cochée : la réconciliation est annulée si des conflits sont détectés.
  • Non cochée : la réconciliation n’est pas annulée si 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 effectuées sur des attributs différents 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 du comportement 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 du comportement par défaut pour le versionnement de branche.
String
Post Versions After Reconcile (Réinjecter les versions après la réconciliation)
(Facultatif)

Indique 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)

Indique si la version de mise à jour réconciliée est supprimée après la réinjection. Ce paramètre ne s’applique que si le paramètre Post Versions After Reconcile (Réinjecter les versions après la réconciliation) est sélectionné.

  • 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
Proceed if unreviewed conflicts are detected (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 ne s’applique qu’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 de 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 permet d’inclure ou de supprimer ces types de versions de la liste des versions à réconcilier. Ce paramètre n’est pas applicable pour la branche versionnée.

  • Cochée : le processus de réconciliation inclut les versions de réplicas d’extraction. Il s’agit de l’option par défaut.
  • Non cochée : le processus de réconciliation n’inclut pas les versions de 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’environnement d’espace de travail 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 correspond à un espace de travail de branche, la seule option valide pour ce paramètre consiste à 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 à inclure dans la version de mise à jour.

Si l’entrée correspond à un espace de travail de branche, la seule option valide pour ce paramètre consiste à effectuer une 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)

Indique si une acquisition des verrous d’entités est nécessaire.

  • LOCK_ACQUIREDLes verrous sont acquis pendant le processus de réconciliation. Utilisez cette option si vous avez l’intention de réinjecter les mises à jour. Il 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 d'injection. Il s’agit de l’option par défaut.
  • NO_LOCK_ACQUIREDLes verrous 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 en raison de la possibilité que la version cible soit modifiée dans le laps de temps entre les opérations de réconciliation et de réinjection.
Boolean
abort_if_conflicts
(Facultatif)

Indique si le processus de réconciliation est annulé si 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 n’est pas annulée si des conflits sont détectés. Il s’agit de l’option par défaut.
  • ABORT_CONFLICTSLa réconciliation est annulée si 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 effectuées sur des attributs différents 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 du comportement 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 du comportement par défaut pour le versionnement de branche.
String
with_post
(Facultatif)

Indique 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)

Indique si la version de mise à jour réconciliée est supprimée après la réinjection. Ce paramètre ne s’applique que si le paramètre with_post est défini sur 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 ne s’applique qu’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 permet d’inclure ou de supprimer ces types de versions de la liste des versions à réconcilier. Ce paramètre n’est pas applicable pour la branche versionnée.

  • RECONCILELe processus de réconciliation inclut les versions de 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 de 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')

Rubriques connexes