gsutil rsync 命令中的 -i 和 -u 选项有什么区别?

gsutil rsync 命令中的 -i 和 -u 选项有什么区别?

gsutil rsync 文档描述了两个听起来相同的选项:

选项 描述
-我 这会强制 rsync 跳过目标上存在的任何文件,并且修改时间比源文件更新。(如果现有目标文件的修改时间等于源文件的修改时间,则如果大小不同,则会更新它。)
-u 当源和目标中都存在一个文件/对象时,如果两者的 mtime 都可用,则如果目标 mtime 较新,则不要执行复制。

尽管它们使用了不同的术语,mtime 和修改时间,但似乎还是相同的。至少我没有找到有关差异的任何信息。这两个选项实际上表明,如果目标文件较新,则不会复制(跳过)该文件。

但是肯定还是有区别的,我不能假设产品团队错误地保留了两个相同的选项。

这两个选项的效果有什么区别?

唯一可能的区别可能是源和目标的修改时间相等的情况,如括号中所述。在这种情况下,文档可能会得到改进,以明确链接这两个选项并指出唯一的区别。至少应该使用相同的术语以避免混淆。

我问过类似问题之前在 StackOverflow 上问过,但不够具体(倾向于“mtime”和“修改时间”的区别),所以答案不完整。现在我在这里问是因为问题不是关于编程的,而且问题现在很具体。

相关内容