Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
File unison如何决定同步文件的方式_File_Synchronization_Unison - Fatal编程技术网

File unison如何决定同步文件的方式

File unison如何决定同步文件的方式,file,synchronization,unison,File,Synchronization,Unison,我正在使用unison将一组文件夹同步到一起。不只是两个根,但我想我的问题可以这么简单 假设我正在使用unison同步目录A和B。如果我从目录A中删除文件X,unison如何知道该做什么?它应该从B向A添加X还是从B删除X?Unison会在每次成功同步路径后记录每个路径的内容(即,它会在最后时刻记住两个副本中相同的内容) 我们说,如果路径的当前内容与上次成功同步时的内容不同,则会更新路径(在某些副本中)。请注意,路径是否更新与其上次修改时间无关,Unison在确定是否发生更新时只考虑内容。这意味

我正在使用unison将一组文件夹同步到一起。不只是两个根,但我想我的问题可以这么简单


假设我正在使用unison同步目录A和B。如果我从目录A中删除文件X,unison如何知道该做什么?它应该从B向A添加X还是从B删除X?

Unison会在每次成功同步路径后记录每个路径的内容(即,它会在最后时刻记住两个副本中相同的内容)

我们说,如果路径的当前内容与上次成功同步时的内容不同,则会更新路径(在某些副本中)。请注意,路径是否更新与其上次修改时间无关,Unison在确定是否发生更新时只考虑内容。这意味着在不更改文件内容的情况下触摸文件将不会被识别为更新。一个文件甚至可以更改几次,然后再更改回其原始内容;只要Unison仅在此过程结束时运行,则不会识别任何更新


换句话说:Unison知道您已经删除了文件X,因为它不再在A中的磁盘上,它知道应该从B中删除它。

那么“重新开始”同步呢?如果A中有文件,B中没有文件,并且从A开始同步-文件会复制到B,还是从A中删除?在这种情况下,它将合并2个根,这意味着文件将在两端添加,不会删除任何内容。在“全新开始”同步中,它实际上会在另一端添加文件之前询问。在这种情况下,Unison不知道A或B是否“正确”。因此,它将为您提供添加它或从两端删除它的选项。