Quando o Dropbox encontra um arquivo no computador que é diferente da versão em nuvem daquele arquivo que conhece, como decide se deve sincronizá-los substituindo o arquivo local pelo arquivo em nuvem ou sincronizando-os substituindo o arquivo em nuvem por o arquivo local?
Para reformular:
Se a cópia do servidor e a cópia local de um arquivo forem diferentes,
e se o programa dropbox for iniciado e concluir a sincronização,
esses dois arquivos serão os mesmos.
Esses dois arquivos também serão idênticos a um dos arquivos antigos. Minha pergunta é qual --- a cópia antiga do servidor ou a cópia local antiga? Como isso decide?
Respostas:
Não sei os detalhes técnicos disso, mas tenho a situação em que eu e meu assistente operamos uma caixa de depósito comum com dois computadores diferentes entrando e saindo em momentos diferentes.
A resposta para sua pergunta é que, quando você se conecta à nuvem, o Dropbox sabe (de alguma forma) que a versão atualmente na nuvem foi originalmente sincronizada no seu computador. Portanto, se a versão do seu computador for diferente, essa será a versão que será sincronizada com a nuvem.
Se dois computadores (digamos A e B) estiverem usando a mesma caixa de depósito e cada um fizer alterações offline, o primeiro computador ligado (digamos que seja o computador A) gerará uma sincronização de sua atualização para a nuvem. Então agora haverá a mesma versão (contendo a atualização A) em A e Cloud.
Quando o computador B é ligado, o Dropbox percebe que a versão do arquivo do computador B não é apenas diferente da versão atual da nuvem (o que é normal), mas é diferente da última vez que o Dropbox o sincronizou. Portanto, se fosse sincronizar o arquivo de B com a versão A, as alterações de B seriam perdidas. Então, o que o Dropbox faz é fazer uma cópia da versão B e adicionar "arquivo em conflito de B" ao nome do arquivo. O arquivo original de B é sincronizado com as atualizações A. O arquivo em conflito, contendo as atualizações B, é sincronizado com a nuvem e volta para A.
Exclusões e conflitos decorrentes da sincronização seletiva são tratados de maneira semelhante
Também surge um conflito se um dos computadores não fechar o arquivo antes de desligar. A sincronização não ocorre em um arquivo aberto; portanto, nesse caso, as atualizações de B serão sincronizadas e o arquivo aberto de A terminará em conflito. Isso pode ser uma grande dor para harmonizar, mas a culpa é nossa, não do Dropbox.
Espero que isto ajude.
fonte
Eu tenho informações parciais que começam a responder a esta pergunta. Não tenho certeza de quão útil isso é para usuários experientes, mas sei que usuários mais novos como eu acharão este relatório útil.
Além disso, resolver isso me deixa ainda mais intrigado com o fato de uma pergunta incrivelmente básica não ter nenhuma resposta oficial ou autorizada. A falta de documentação ou discussões disponíveis me diz que os usuários do Dropbox aceitam o que o Dropbox realmente faz como o que eles esperavam que ele fizesse nessas circunstâncias. (ou seja, eu nem diria que os usuários têm uma expectativa concreta na qual depositam o dropbox)
Exemplos de como o Dropbox se comportará:
Nos meus exemplos, o computador A e o computador B nunca são ligados ao mesmo tempo. Imagine um único usuário trabalhando sem colaboração em casa e no trabalho, com cada computador sendo desligado antes de voltar para o outro.
O que acontece quando a pasta dropbox de um computador não é idêntica à pasta dropbox na nuvem? Para maior clareza, prefiro imaginar como
dropbox.exe
reage quando um computador tem uma pasta dropbox vazia . Irádropbox.exe
considerar esses arquivos perdidos como "exclusões" (o que significa que irá removê-los a partir da pasta dropbox nuvem) ou "fora da data" (o que significa que irá criar novas cópias deles dentro da pasta dropbox local).Comece com uma situação em que o comportamento é óbvio: o computador A está ligado e o computador B está desligado. Se
dropbox.exe
estiver em execução e forem feitas alterações em A, elas serão propagadas para a pasta da nuvem e não vice-versa. Portanto, no momento, se a pasta de A estiver esvaziada, esses arquivos / pastas ausentes serão considerados "exclusões" e a pasta em nuvem será esvaziada.Suponha que B tenha uma pasta de caixa de depósito vazia e A crie arquivos e os sincronize com a pasta de caixa de nuvem. Se mudarmos para o computador B, a situação será que
dropbox.exe
interpretará a pasta da caixa de depósito vazia de B como "desatualizada" e novas cópias da pasta da nuvem serão criadas em B.Agora, o menos óbvio: suponha que façamos algumas alterações em B e sincronizemos essas alterações com a pasta da caixa de depósito na nuvem. Se mudarmos para o computador A e - sem a primeira execução
dropbox.exe
- excluirmos as coisas da pasta dropbox de A, o que será executadodropbox.exe
depois? Nesta situaçãodropbox.exe
, interpretará os arquivos / pastas ausentes como novas exclusões que devem ser propagadas para a pasta da caixa de depósito na nuvem.Acho confuso que nas situações 2 e 3 você
dropbox.exe
esteja ligado e encontre o mesmo estado "novo" em um novo computador que difere da pasta na nuvem, mas agirá de maneira diferente.Se você deseja inventar uma regra que explique como
dropbox.exe
funciona, evidentemente não pode assumir que é uma função das três variáveis: (1) o que vê no computador agora, (2) o que vê na pasta da nuvem e (3) ) qual computador foi o último a sincronizar com a pasta na nuvem. (!!!)Talvez a variável extra seja que o Dropbox se lembre da última sincronização de cada computador com a pasta da nuvem. Na situação 2, podemos supor que a última vez que o computador B foi sincronizado, ele sincronizou uma pasta vazia. Na situação 3, o Dropbox lembra que, na última vez que o computador A foi sincronizado, ele sincronizou uma pasta diferente do que é encontrado atualmente dentro da pasta.
fonte
dropbox.exe
apenas verificar o diretório offline e online. Como você indicou em seu último parágrafo, o dropbox mantém um registro de todos os arquivos armazenados localmente e online, para que ele saiba exatamente quando / o que (e quando / o que não) sincronizar. Dê uma olhada no meu dropbox-dir noC:\Users\<name>\AppData\Roaming\Dropbox
. Você vê muitos.dbx
arquivos em que o dropbox manterá essas informações (não apenas datas, mas também somas de verificação etc.). (Excluir os arquivos e dropbox será seriamente bagunça op você Dropbox diretório on-line e off-line;)Na FAQ do Dropbox :
Como isso acontece?
Isso também é mencionado em seu site :
fonte