У меня есть частичная информация, которая начинает отвечать на этот вопрос. Я не уверен, насколько это полезно для опытных пользователей, но я знаю, что новые пользователи, такие как я, сочтут этот отчет полезным.
Кроме того, разработка этого делает меня еще более озадаченным, что у невероятно основного вопроса нет никакого официального или авторитетного ответа. Отсутствие доступной документации или дискуссий говорит мне о том, что пользователи Dropbox вполне могут принять то, что Dropbox действительно делает, так, как они ожидали, что он будет делать в таких обстоятельствах. (то есть я бы даже не сказал, что у пользователей есть конкретное ожидание, что они держат Dropbox)
Примеры поведения Dropbox:
В моих примерах компьютер A и компьютер B никогда не включаются одновременно. Представьте себе, что один пользователь работает дома и на работе без совместной работы, при этом каждый компьютер выключается перед тем, как вернуться к другому.
Что происходит, если папка Dropbox на одном компьютере не идентична папке облачной папки Dropbox? Для максимальной наглядности я предпочитаю представить, как dropbox.exe
реагирует, когда на одном компьютере есть пустая папка Dropbox. Будут dropbox.exe
считать эти отсутствующие файлы «удаленными» (что означает, что они удалят их из папки облачного хранилища) или «устаревшими» (что означает, что они будут создавать новые копии в локальной папке удаленного хранилища).
Начните с ситуации, когда поведение явно очевидно: компьютер A включен, а компьютер B выключен. Если dropbox.exe
он запущен и изменения внесены в A, то они распространяются в облачную папку, а не наоборот. Таким образом, в данный момент, если папка А очищается, эти отсутствующие файлы / папки считаются «удаленными», а папка облака очищается.
Предположим, что в B есть пустая папка Dropbox, а A создает файлы и синхронизирует их с облачной папкой Dropbox. Если мы переключимся на компьютер B, ситуация dropbox.exe
будет такова, что пустая папка Dropbox будет интерпретирована как «устаревшая», и новые копии из облачной папки будут созданы на B.
Теперь для менее очевидного: предположим, мы вносим некоторые изменения в B и синхронизируем эти изменения в папке облачного хранилища. Если мы переключимся на компьютер A и - без первого запуска dropbox.exe
- мы удалим вещи из папки Dropbox A, что будет dropbox.exe
делать потом? В этой ситуации dropbox.exe
недостающие файлы / папки будут интерпретироваться как новые удаления, которые следует распространять в папку облачного хранилища.
Меня сбивает с толку то, что в ситуациях 2 и 3 вы dropbox.exe
включаетесь и сталкиваетесь с тем же «свежим» состоянием на новом компьютере, которое отличается от облачной папки, но оно будет действовать по-другому.
Если вы хотите изобрести правило, объясняющее, как dropbox.exe
работает, вы, очевидно, не можете предположить, что оно является функцией трех переменных: (1) того, что он видит на компьютере прямо сейчас, (2) того, что он видит в облачной папке, и (3 ) какой компьютер был последним синхронизировать с облачной папкой. (!!!)
Возможно, дополнительная переменная в том, что Dropbox запоминает, что каждый компьютер в последний раз синхронизировал с облачной папкой. В ситуации 2 мы можем предположить, что в последний раз, когда компьютер B синхронизировался, он синхронизировал пустую папку. В ситуации 3 Dropbox запоминает, что в последний раз компьютер A синхронизировался, он синхронизировал папку, которая отличалась от того, что он в настоящее время находит внутри папки.