Lorsque Dropbox rencontre un fichier sur son ordinateur différent de la version cloud de ce fichier qu'il connaît, comment décide-t-il s'il doit les synchroniser en écrasant le fichier local avec le fichier cloud ou les synchroniser en écrasant le fichier cloud avec le fichier local?
Pour reformuler:
Si la copie du serveur et la copie locale d'un fichier sont différentes,
et si le programme dropbox est lancé et termine la synchronisation,
alors ces deux fichiers seront les mêmes.
Ces deux fichiers seront également identiques à l' un des anciens fichiers. Ma question est quelle --- l'ancienne copie du serveur ou l'ancienne copie locale? Comment décide-t-il?
Réponses:
Je ne connais pas les détails techniques de cela, mais j'ai la situation où moi et mon assistant exploitons une boîte de dépôt commune avec deux ordinateurs différents allumés et éteints à des moments différents.
La réponse à votre question est que lorsque vous vous connectez au Cloud, Dropbox sait (en quelque sorte) que la version actuellement sur le Cloud a été initialement synchronisée depuis votre ordinateur. Donc, si la version de votre ordinateur est différente, c'est la version qui sera synchronisée avec le Cloud.
Si deux ordinateurs (disons A et B) utilisent la même liste déroulante et effectuent chacun des modifications hors ligne, le premier ordinateur s'allume (disons que c'est l'ordinateur A) générera une synchronisation de sa mise à jour dans le cloud. Alors maintenant, il y aura la même version (contenant la mise à jour A) sur A et Cloud.
Lorsque l'ordinateur B est mis sous tension, Dropbox se rendra compte que la version du fichier de l'ordinateur B est non seulement différente de la version cloud actuelle (ce qui est normal) mais différente de la dernière synchronisation de Dropbox à partir de celui-ci. Donc, s'il devait synchroniser le fichier de B avec la version A, les modifications de B seraient perdues. Donc ce que Dropbox fait est de faire une copie de la version B et d'ajouter "le fichier en conflit avec B" au nom du fichier. Le fichier d'origine de B est ensuite synchronisé avec les mises à jour de A. Le fichier en conflit, contenant les mises à jour B, est ensuite synchronisé avec le cloud et redescendu vers A.
Les suppressions et les conflits résultant d'une synchronisation sélective sont traités de la même manière.
Un conflit se produit également si l'un des ordinateurs ne ferme pas le fichier avant la mise hors tension. La synchronisation ne se produit pas sur un fichier ouvert, dans ce cas, les mises à jour de B seront celles qui sont synchronisées, et le fichier ouvert de A se terminera comme un conflit. Cela peut être très difficile à harmoniser, mais c'est notre faute, pas celle de Dropbox.
J'espère que cela t'aides.
la source
J'ai des informations partielles qui commencent à répondre à cette question. Je ne sais pas à quel point cela est utile pour les utilisateurs expérimentés, mais je sais que les nouveaux utilisateurs comme moi trouveront ce rapport utile.
En aparté, travailler cela me rend encore plus perplexe à l'idée qu'une question incroyablement basique n'a pas de réponse officielle ou faisant autorité. Le manque de documentation ou de discussions disponibles m'indique que les utilisateurs de Dropbox sont prêts à considérer tout ce que Dropbox fait réellement comme ce qu'ils auraient prévu qu'il fasse dans ces circonstances. (c'est-à-dire que je ne dirais même pas que les utilisateurs s'attendent concrètement à ce qu'ils tiennent Dropbox)
Exemples de comportement de Dropbox:
Dans mes exemples, l'ordinateur A et l'ordinateur B ne sont jamais tous deux sous tension en même temps. Imaginez un seul utilisateur travaillant de manière non collaborative à la maison et au travail, chaque ordinateur étant éteint avant de revenir à l'autre.
Que se passe-t-il lorsque le dossier Dropbox d'un ordinateur n'est pas identique au dossier Dropbox Cloud? Pour une clarté maximale, je préfère imaginer comment
dropbox.exe
réagit lorsqu'un ordinateur a un dossier dropbox vide . Est-ce quedropbox.exe
considérer les fichiers manquants comme des « suppressions » ( ce qui signifie qu'il va les supprimer du nuage dossier dropbox) ou « démodés » ( ce qui signifie qu'il va créer de nouvelles copies dans le dossier local) dropbox.Commencez par une situation où le comportement est clairement évident: l' ordinateur A est allumé et l'ordinateur B est éteint. Si
dropbox.exe
est en cours d'exécution et que des modifications sont apportées à A, celles-ci sont propagées dans le dossier cloud et non l'inverse. Donc, pour le moment, si le dossier de A est vidé, ces fichiers / dossiers manquants sont considérés comme des «suppressions» et le dossier cloud est vidé.Supposons que B ait un dossier dropbox vide et que A crée des fichiers et les synchronise avec le dossier dropbox cloud. Si nous passons à l'ordinateur B, la situation est celle
dropbox.exe
qui interprétera le dossier dropbox vide de B comme «obsolète», et de nouvelles copies du dossier cloud sont créées sur B.Maintenant, pour le moins évident: supposons que nous apportions des modifications dans B et synchronisons ces modifications dans le dossier dropbox du cloud. Si nous passons à l'ordinateur A et --- sans avoir d'abord exécuté
dropbox.exe
--- nous supprimons des choses dans le dossier de dépôt de A, qu'est-ce qui fonctionneradropbox.exe
ensuite? Dans cette situationdropbox.exe
, les fichiers / dossiers manquants seront interprétés comme de nouvelles suppressions qui devraient être propagées dans le dossier dropbox du cloud.Je trouve confus que dans les situations 2 et 3, vous ayez
dropbox.exe
été allumé et rencontriez le même état "frais" sur un nouvel ordinateur qui diffère du dossier cloud, mais cela agira différemment.Si vous vouliez inventer une règle qui explique comment
dropbox.exe
fonctionne, vous ne pouvez évidemment pas supposer que c'est une fonction des trois variables: (1) ce qu'il voit sur l'ordinateur en ce moment, (2) ce qu'il voit sur le dossier cloud, et (3 ) quel ordinateur a été synchronisé en dernier avec le dossier cloud. (!!!)Peut-être que la variable supplémentaire est que Dropbox se souvient de la dernière synchronisation de chaque ordinateur avec le dossier cloud. Dans la situation 2, nous pouvons supposer que la dernière fois que l'ordinateur B a synchronisé, il a synchronisé un dossier vide. Dans la situation 3, Dropbox se souvient que la dernière fois que l'ordinateur A a synchronisé, il a synchronisé un dossier différent de ce qu'il trouve actuellement dans le dossier.
la source
dropbox.exe
vérifie le répertoire hors ligne et en ligne. Comme vous le dites dans votre dernier paragraphe, dropbox conserve un enregistrement de chaque fichier stocké localement et en ligne afin qu'il sache exactement quand / quoi (et quand / quoi ne pas) synchroniser. Jetez un oeil à mon dropbox-dir dansC:\Users\<name>\AppData\Roaming\Dropbox
. Vous voyez beaucoup de.dbx
-fichiers où dropbox conservera ces informations (pas seulement les dates mais aussi les sommes de contrôle etc ...). (Supprimez ces fichiers et dropbox gâchera sérieusement votre répertoire dropbox en ligne et hors ligne;)De la FAQ Dropbox :
Comment fait-il cela?
Cela aussi est mentionné sur leur site :
la source