我一直在使用unison作爲我選擇的文件同步器,而且生活一直很棒。靈活的合併命令可以選擇更新或更舊的文件嗎?
本質上我可以隨時修改任何一方的任何文件,而不必擔心誰是主人和奴隸等。它是雙向的。
然而,當每個主要合作伙伴都無法到達時,如果有四個根源互相失敗,我開始推動這個工具的侷限性。出現衝突會導致所涉及文件的自動同步停止。我的業務邏輯的各個方面分佈在不同的主機上,這些主機在運行時有時會修改相同的文件。
配置文件中的merge option發揮作用。它允許您爲不同的文件類型指定不同的合併命令。
例如日誌文件只有我喜歡和他們插線:
merge = Name *.log -> diff3 -m CURRENT1 CURRENTARCH CURRENT2 > NEW || echo "differences detected"
問:對於*。去年僅文件,什麼合併命令總是青睞舊副本?
對於* .rb * .sh和其他源文件,我不打算合併,但總是在發生衝突時選擇較新的版本。儘管如此,我可以通過默認選項prefer = newer
全球選項。
對於* .png文件,我通常更喜歡保持較小(優化)的大小。