Ubuntu One如何处理在多台计算机上更改的文件?
如果我在桌面PC上编辑文件,并在我当前未连接到互联网的同步笔记本电脑上编辑同一文件,会发生什么?
假设我的桌面上的“〜/ Ubuntu One”中有一个名为“jobs.todo”的文件,其中包含以下内容:
工作1:描述
工作2:描述
工作3:描述
当我的笔记本电脑连接到互联网时,这个文件将出现在两台计算机上。
我断开了我的笔记本电脑,并在旅途中带走了它。 在我离开的时候,我想到了我必须完成的另一项工作并将其添加到文件中,现在将读取:
工作1:描述
工作2:描述
工作3:描述
工作4:描述
当我回到家时,我会回到我的桌面并想到我需要完成的其他事情,所以我将其添加到桌面计算机的“jobs.todo”文件中,忘记我已经在笔记本电脑上更改了这个文件。
该文件将为:
工作1:描述
工作2:描述
工作3:描述
工作5:描述
之后不久,该文件将与云同步,因为台式机已连接到互联网。
一段时间后,我启动笔记本电脑,无线连接到互联网,并与云同步。
我怀疑桌面版本(其中包含Job 5)将从云端复制,我将丢失包含Job 4的文件,因为云端版本的文件上的日期戳将晚于笔记本电脑上的日期戳
会发生什么事情,当笔记本电脑上线时,服务器会告诉它它有一个新版本的文件,而客户端(特别是syncdaemon
)也会注意到它还有一个新版本的文件。 这称为冲突 ,解决方案取决于客户; syncdaemon
所做的是将本地更改的文件重命名为originalname.u1conflict
,并将文件从服务器下载到原始名称。 如果.u1conflict
已经存在,它将尝试使用.u1conflict.1
, .u1conflict.2
等。
现在没有什么可以让你知道冲突; 对于11.04我们会在发生这些事情时通知您,并且在某些时候(但不是11.04)我们将创建一个可以帮助您解决冲突的小应用程序。 没有自动的方法,但我们应该能够轻松/用户友好。