问题标签 [unison]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
312 浏览

synchronization - 如何在没有在远程服务器上安装 Unison 的情况下同步文件?

我可以使用 Unison 将文件从源推送到目标,并且 Unison 安装在源机器上但未安装在目标机器上?

0 投票
1 回答
1241 浏览

ubuntu - unison:如何同步多个目录中的特定子文件夹?

我正在尝试在两台机器(均为 ubuntu 16.04)之间同步我的目录子集(版本 2.48.3)。在两台机器上,我都有一个名为“research”的目录。它包含我正在处理的每个项目的文件夹。在每个文件夹中,都有一个名为“lit”的文件夹,我想同步所有这些“lit”文件夹,而不必真正关心项目名称本身。示例:在两台机器上,都有以下文件夹:

其中我想projA/lit在两台机器之间同步,还有projB/lit.

我已经安装了 unison,并通过手册页阅读了自己。基于此,我修改了 unison 配置文件 default.prf 如下:

虽然 unison 成功连接到我的工作计算机,但它没有找到任何要同步的内容。如果相反,我在上面的配置文件中替换为path = */litpath = projA/lit它可以工作。

因此,问题是:我是否可以一致地同步lit所有项目的子文件夹而不必指定这些,如果可以,如何?或者我是否必须将 unison 命令包装在某种循环中才能遍历所有项目文件夹?

0 投票
1 回答
78 浏览

synchronization - 让 Unison 记住已同步的文件,尽管它们已从一个副本中删除?

我目前正在Unison中设置一个同步任务,它应该可以帮助我将在路上工作所需的数据从台式计算机(位置 A)传输到我的笔记本电脑(位置 B)。对于某些数据(在特定目录中),我希望这只是“单向”传输,即:文件应存储在位置 A 并且在同步期间不被删除(因此,这可能会利用-force-nodeletionpartial选项)。

问题是我想在处理完文件后从位置 B 删除文件,并希望在下一次同步运行期间将其删除。所以,我猜想,Unison 需要以某种方式“记住”这些文件以前就在那里,并且只将新文件复制到位置 B。

那可能吗?

0 投票
1 回答
46 浏览

synchronization - 为除少数几个目录之外的所有目录解决有利于一个根目录的冲突

我正在尝试使用Unison在 Windows 上的主机和 Fedora Linux 上的来宾 VM 之间同步文件。

我希望自动管理所有冲突:

  • 默认情况下,必须以有利于主机 (Windows) 的方式解决所有冲突
  • 必须解决一些选定的目录以支持来宾(Fedora)

这是我的default.prf文件:

上面的配置根本不起作用:当我在主机和来宾、内部外部preferpartial目录中创建冲突文件时,冲突要么全部解决,要么全部支持来宾,要么全部支持主机

(我设置了一个测试脚本,在其中创建具有“HOST”或“GUEST”内容的冲突文件,启动 Unison,然后cat在 Unison 完成同步后启动文件)。

我究竟做错了什么?

0 投票
2 回答
524 浏览

regex - 正则表达式替代负前瞻

我想匹配包含关键字的所有路径,build除非它们还包含.html

这是一个使用负前瞻的工作正则表达式:https ://regexr.com/4msck

我正在使用正则表达式进行一致的路径匹配,它不支持负前瞻。如何在没有负前瞻的情况下复制上述正则表达式的功能?

0 投票
3 回答
2755 浏览

centos - 如何跨 OS X 和 linux 使用一致?由于 ocaml 版本导致的致命错误

我正在尝试从我的 OS X 机器到运行的 linux 机器上使用一致:CentOS release 6.10 (Final)

我不得不为 linux 机器做一个 unison 2.51 的静态编译。这个版本是:

在 OS X 机器上,我使用了“brew install unison”。这给了我:

如果我现在尝试使用 unison,我会得到:

我该怎么做才能让一致工作?

0 投票
3 回答
2340 浏览

unison - Unison 因“格式错误的消息”错误而失败,远程和本地版本相同

升级到 Mac OS X Catalina 后,我正试图让协调工作。不幸的是,macports 安装了更新版本的 ocaml (4.08.1),这意味着 unison 2.51.2 版本无法编译。

好吧,没问题,我只是同步更新到 git master,然后重新编译。不幸的是,这在同步时失败了,因为用于在 mac (4.08.1) 上编译的 ocaml 版本与用于在另一台机器上编译的版本 (4.07.1) 不同。叹。好的,使用 opam magic 在我的机器上安装 4.07.1。一切都应该没问题,对吧?不!

这是错误:

这是怎么回事?

0 投票
1 回答
614 浏览

macos - 如何在 macOS 上从源代码安装 unison

我想知道是否有人设法在其 macOS 机器上从源代码安装unison的最新版本(这里我正在尝试使用 Catalina)。我按照这里的步骤操作:

  1. 我确认我已经安装了 XCode(否则忘记编译任何东西 :)

  2. 我通过运行克隆了官方 Git 存储库

    git clone https://github.com/bcpierce00/unison.git

  3. 我移动到新创建的目录unison

    cd unison

  4. 正如文档中提到的那样,我然后运行make命令告诉它构建文本 UI:

    make UISTYLE=text

结果应该是一个名为的可执行文件,unison但我得到了以下错误:

  1. 然后我想知道 XCode 是否可能不携带OCaml 编译器。所以我使用MacPort安装了官方的,因此运行:
  1. 然后我重新运行相同的make命令

    make UISTYLE=text

  2. 这次结果看起来更好,并以:

  1. 但是,仍然没有任何unison文件可见。

问题是......因为没有错误消息,这个可执行文件在哪里?

0 投票
0 回答
246 浏览

linux - 如何在设置文件所有权时修复 Unison 错误

我正在尝试使用 unison 在我的 linux 设备上同步 STOR1 和 STOR2。但是,当我尝试以下代码时;

unison /srv/webdata/html ssh://172.16.3.12//srv/webdata/html -group -batch -silent

我不断收到以下错误;

失败 [leegBestand]:设置文件所有权时出错:不允许操作 [chown(/srv/webdata/html/.unison.leegBestand.311a006a8ea6cf6f5ed9619764431de8.unison.tmp)]

在我的 STOR1 leegBestand 上看起来像这样;

-rwxrwx--- 1 www-data www-data 0 Mar 26 11:44 leegBestand

目录如下所示;

drwxrwx--- 2 www-data www-data 4096 Mar 26 11:44 html

在我的 STOR2 上,目录如下所示;

drwxrwx--- 2 www-data www-data 4096 Mar 26 11:08 html

有谁可能知道我如何修复它,使文件leegBestand确实从 STOR1 同步到 STOR2?

0 投票
1 回答
52 浏览

linux - 在 Linux/Windows 之间同步时出现空格问题?

我正在使用统一版本 2.51.2 (ocaml 4.06.1) 在 Synology NAS(BTRFS 文件系统)和 Windows 2016 Server(NTFS 文件系统)之间同步文件。-force我正在尝试使用该选项将单向从 Linux 同步到 Windows 。我似乎在处理包含空格的文件时遇到了一些问题,例如

这表示一个以空格结尾的文件,这在 Windows 中确实是不允许的。但是,当我进入目录时,没有这样的文件以空格结尾!Als -la产量

我无法确定一个清晰的模式,因为这似乎只发生在几个文件中......(比如 100 与 150.000 包含空白的工作正常)。有谁知道这可能是什么原因?