Conflitos
Visão Geral
O cliente de desktop Nextcloud faz upload de alterações locais e download de alterações remotas. Quando um arquivo for alterado no lado local e no remoto entre as execuções de sincronização, o cliente não conseguirá resolver a situação por conta própria. Ele criará um arquivo de conflito com a versão local, fará o download da versão remota e notificará o usuário de que ocorreu um conflito que precisa de atenção.
Exemplo
Imagine que haja um arquivo chamado mydata.txt
em sua pasta sincronizada. Ele não foi alterado por um tempo e contém o texto “contents” local e remotamente. Agora, quase ao mesmo tempo, você o atualiza localmente para dizer “local contents”, enquanto o arquivo no servidor é atualizado para conter “remote contents” por outra pessoa.
Ao tentar fazer upload de suas alterações locais, o cliente de desktop perceberá que a versão do servidor também foi alterada. Isso cria um conflito e agora você terá dois arquivos em seu computador local:
mydata.txt
contendo “remote contents”mydata (conflicted copy 2018-04-10 093612).txt
contendo “local contents”
Nessa situação, o arquivo mydata.txt
tem as alterações remotas (e continuará a ser atualizado com outras alterações remotas quando elas ocorrerem), mas seus ajustes locais não foram enviados ao servidor (a menos que o servidor permita o upload de conflitos, veja abaixo).
O cliente de desktop lhe avisa dessa situação por meio de notificações do sistema, do ícone da área de notificação e de um emblema amarelo de “conflitos não resolvidos” na janela de configurações da conta. Clicar nesse emblema mostra uma lista que inclui os conflitos não resolvidos e clicar em um deles abre uma janela do explorador que aponta para o arquivo relevante.
Para resolver esse conflito, abra os dois arquivos, compare as diferenças e copie as alterações locais do arquivo “conflicted copy” para o arquivo base, quando aplicável. Neste exemplo, você pode alterar mydata.txt
para dizer “local and remote contents” e excluir o arquivo com “conflicted copy” no nome. Com isso, o conflito é resolvido.
Carregamento de conflitos (experimental)
Por padrão, o arquivo de conflito (o arquivo com “conflicted copy” no nome que contém as alterações conflitantes locais) não é carregado no servidor. A ideia é que você, o autor das alterações, é a pessoa mais indicada para resolver o conflito e mostrar o conflito a outros usuários pode gerar confusão.
No entanto, em alguns cenários, faz muito sentido carregar essas alterações conflitantes para que o trabalho local possa se tornar visível, mesmo que o conflito não seja resolvido imediatamente.
No futuro, poderá haver uma opção em todo o servidor para esse comportamento. Por enquanto, ele já pode ser testado com a configuração da variável de ambiente OWNCLOUD_UPLOAD_CONFLICT_FILES=1
.