新文件和合并设置之间的Unison冲突

时间:2017-05-17 09:24:59

标签: macos unison

我在本地网络中的两台Mac上同步我的“站点”文件夹。此文件夹中的某些Wordpress网站包含readme.txt个不同的文件,因为两台Mac上的插件或主题版本不同。它们的文件大小和时间戳不同。

我的default.prf有一个合并.txt个文件的设置:

merge = Name *.txt -> diff3 CURRENT1 CURRENTARCHOPT CURRENT2 > NEW

适用于大多数文本文件,但不适用于这些readme.txt文件。当我开始同步时,Unison为我提供了这些文件的合并错误。这是一个典型的输出:

Contacting server...
Connected [//mac1.local//Users/timm -> //mac2.local//Users/timm]
Looking for changes
  Waiting for changes from server
Reconciling changes

local          mac1.local
new file <-M-> new file   Sites/wp-sites/example.dev/wp-content/plugins/kocuj-sitemap/readme.txt

Proceed with propagating updates? [] y
Propagating updates

UNISON 2.48.4 started propagating changes at 15:21:22.86 on 16 May 2017
Merge command: diff3 '/Users/timm/Sites/wp-sites/example.dev/wp-content/plugins/kocuj-sitemap/.unison.merge1-readme.txt'  '/Users/timm/Sites/wp-sites/example.dev/wp-content/plugins/kocuj-sitemap/.unison.merge2-readme.txt' > '/Users/timm/Sites/wp-sites/example.dev/wp-content/plugins/kocuj-sitemap/.unison.mergenew1-readme.txt'
Merge result (exited (2)):
diff3: missing operand after `/Users/timm/Sites/wp-sites/example.dev/wp-content/plugins/kocuj-sitemap/.unison.merge2-readme.txt'
diff3: Try `diff3 --help' for more information.

Saving synchronizer state
Synchronization incomplete at 15:21:24  (0 items transferred, 0 skipped, 1 failed)
  failed: Sites/wp-sites/example.dev/wp-content/plugins/kocuj-sitemap/readme.txt

我意识到合并必须在新文件上失败,但我认为程序应该复制它们而不是尝试合并。我甚至试图忽略(几乎无用的)文件:

ignore = Name {Sites/*/readme.txt}

但出于某种原因,Unison并不会忽视它们。问题是,我需要合并文本文件,因为我依赖简单的文本文件来存档。 default.prf看起来像这样:

# default profile

servercmd=/opt/local/bin/unison

root = /Users/timm/
root = ssh://mac2.local//Users/timm/

path = Sites

auto = true
times = true

# ignore permissions
perms = 0
rsrc = false

ignore = Name {.DS_Store}
ignore = Name {.localized}
ignore = Name {*/*.app/*}

ignore = Name {*/temp/*}
ignore = Name {*/cache/*}

ignore = Name {Sites/*/wp-content/languages/*}
ignore = Name {Sites/*/wp-content/plugins/*}
ignore = Name {Sites/*/wp-content/themes/twenty*}
ignore = Name {Sites/*/wp-sites/wordpress/*}

# ???
ignore = Name {Sites/*/readme.txt}

# diff and merge
diff = diff
merge = Name *.txt -> diff3 CURRENT1 CURRENTARCHOPT CURRENT2 > NEW
backup = Name *.txt
backupcurrent = Name *.txt
maxbackups = 10

log = true
logfile = /Users/timm/.unison/unison.log

我在Mac El Capitan 10.11.6上运行Unison 2.48.4。

我忽略了一个环境吗?有没有其他方法可以使Unison复制并且不合并新文件?

0 个答案:

没有答案