Conflits
Résumé
Le client de bureau Nextcloud téléverse les modifications locales et télécharge les modifications distantes. Si un fichier change en local et à distance entre deux synchronisations, le client sera incapable de résoudre le problème. Il crée donc un fichier en conflit avec le fichier local, il télécharge la version distante et notifie l’utilisateur qu’un conflit s’est produit et nécessite une résolution.
Exemple
Imaginez un fichier nommé « monfichier.txt » dans votre dossier synchronisé. Il n’a pas changé depuis un moment, et contient le texte « contenu » localement et à distance. Maintenant, quasiment en même temps vous le modifiez localement et remplacez le texte par « contenu local » pendant que sur le serveur quelqu’un met à jour le texte et le remplace par « contenu distant ».
Lorsque le client de bureau essaye de téléverser vos modifications locales, il va constater que la version serveur a changée. Il crée un conflit et vous aurez deux fichiers sur votre machine locale.
« monfichier.txt » contenant « contenu distant »
« monfichier (copie en conflit 2018-04-10 093612).txt contenant « contenu local »
Dans cette situation, le fichier « monfichier.txt » contient les modifications distantes (et continuera à être mis à jour avec tous les changements distants) , mais vos modifications locales n’ont pas été envoyées au serveur (à moins que le serveur autorise le téléversement des conflits, voir plus loin)
Le client de bureau vous informe de cette situation via des notifications système, l’icône de la barre d’état système et une vignette jaune « conflits non résolus » dans les paramètres du compte. Cliquer sur ce badge affiche la liste des conflits non résolus et cliquer sur l’un d’entre eux ouvre une fenêtre d’exploration qui pointe vers le fichier concerné.
Pour résoudre ce conflit, ouvrez les deux fichiers, comparez les différences et copiez les modifications locales du fichier de la « copie en conflit » dans le fichier de base, le cas échéant. Dans cet exemple, vous pourriez modifier mydata.txt
pour indiquer « contenu local et distant » et supprimer le fichier dont le nom contient « copie en conflit ». Le conflit est ainsi résolu.
Conflits de téléversement (expérimental)
Par défaut, le fichier en conflit (le fichier avec le nom « copie en conflit » qui contient vos modifications locales conflictuelles) n’est pas téléversé sur le serveur. L’idée est que vous, l’auteur des modifications, êtes la personne la mieux placée pour résoudre le conflit. Le fait de le montrer le conflit aux autres utilisateurs pourrait créer de la confusion.
Cependant, dans certains scénarios, il est tout à fait judicieux de téléverser ces modifications conflictuelles afin que le travail local puisse devenir visible même si le conflit n’est pas résolu immédiatement.
À l’avenir, un changement de comportement à l’échelle du serveur pourrait être apporté. Pour l’instant, il est possible de le tester en définissant la variable d’environnement « OWNCLOUD_UPLOAD_CONFLICT_FILES=1 ».