gsutil rsync 指令中的 -i 和 -u 選項有何不同?

gsutil rsync 指令中的 -i 和 -u 選項有何不同?

gsutil rsync 文檔描述了兩個聽起來相同的選項:

選項 描述
-我 這會強制 rsync 跳過目標上存在且修改時間比來源檔案更新的任何檔案。 (如果現有目標檔案的修改時間與來源檔案的修改時間相同,則如果大小不同,則會更新該檔案。)
-u 當檔案/物件同時存在於來源和目標中時,如果 mtime 對於兩者都可用,且目標 mtime 較新,則不執行複製。

儘管它們使用不同的術語“mtime”和“modification time”,但看起來仍然是相同的。至少我還沒有找到任何關於差異的資訊。這兩個選項都有效地表明,如果目標檔案較新,則不會複製(跳過)該檔案。

但是,一定有一些差別。我不能假設產品團隊錯誤地保留了兩個相同的選項。

這兩個選項的效果有什麼差別呢?

唯一可能的差異可能是來源和目標的修改時間相等的情況,如括號中所述。在這種情況下,可以改進文件以明確連結這兩個選項並指出唯一的區別。至少應使用相同的術語以避免混淆。

我問過一個類似的問題早些時候在 StackOverflow 上,但它不夠具體(傾向於術語“mtime”和“modification time”之間的差異),因此答案並不完整。現在我在這裡問是因為問題不是關於程式設計的,而且現在問題很具體。

相關內容