Conflitti
Panoramica
Il client desktop Nextcloud carica le modifiche locali e scarica quelle remote. Quando un file viene modificato sia localmente che in remoto tra due sincronizzazioni, il client non sarà in grado di risolvere autonomamente la situazione. Creerà un file di conflitto con la versione locale, scaricherà la versione remota e notificherà all’utente che si è verificato un conflitto che richiede attenzione.
Esempio
Immagina che ci sia un file chiamato mydata.txt
nella tua cartella sincronizzata. Non è stato modificato per un po” e contiene il testo «contenuto» sia localmente che in remoto. Ora, quasi contemporaneamente, lo aggiorni localmente per indicare «contenuto locale», mentre il file sul server viene aggiornato per contenere il «contenuto remoto» da qualcun altro.
Quando si tenta di caricare le modifiche locali, il client desktop noterà che anche la versione del server è cambiata. Questo crea un conflitto e ora si troveranno due file sul computer locale:
mydata.txt
contenente «contenuti remoti»mydata (copia in conflitto 2018-04-10 093612).txt
contenente «contenuti locali»
In questa situazione il file mydata.txt
contiene le modifiche remote (e continuerà a essere aggiornato con ulteriori modifiche remote quando si verificheranno), ma le modifiche locali non sono state inviate al server (a meno che il server non abiliti il caricamento in caso di conflitto, vedere di seguito).
Il client desktop ti avvisa di questa situazione tramite notifiche di sistema, l’icona nella barra delle applicazioni e un badge giallo «conflitti irrisolti» nella finestra delle impostazioni dell’account. Cliccando su questo badge viene visualizzato un elenco che include i conflitti irrisolti e cliccando su uno di essi si apre una finestra di Explorer che punta al file in questione.
Per risolvere questo conflitto, apri entrambi i file, confronta le differenze e copia le modifiche locali dal file «copia in conflitto» al file di base, se applicabile. In questo esempio, potresti modificare mydata.txt
in «contenuti locali e remoti» ed eliminare il file con «copia in conflitto» nel nome. In questo modo, il conflitto sarà risolto.
Caricamento conflitti (sperimentale)
Per impostazione predefinita, il file di conflitto (il file con «copia in conflitto» nel nome che contiene le modifiche locali in conflitto) non viene caricato sul server. L’idea è che tu, l’autore delle modifiche, sia la persona più adatta a risolvere il conflitto e mostrarlo ad altri utenti potrebbe creare confusione.
Tuttavia, in alcuni scenari ha molto senso caricare queste modifiche in conflitto, in modo che il lavoro locale possa diventare visibile anche se il conflitto non verrà risolto immediatamente.
In futuro potrebbe essere implementato un cambiamento a livello di server per questo comportamento. Per ora è già possibile testarlo impostando la variabile d’ambiente OWNCLOUD_UPLOAD_CONFLICT_FILES=1
.