标签: unison

一起使用MySQL和Mongodb

我使用的MySQL比MongoDB更多,但是从我从MongoDB学到的东西,它正是我所需要的,但它也有MySQL可以做的限制(例如自动增量)

将MongoDB用于所有事情是否明智,并仅将MySQL用于某些事情?

例如,使用MongoDB存储用户和其他所有内容,但使用MySQL来制作票证系统.

mysql unison mongodb

16
推荐指数
3
解决办法
2万
查看次数

unison"-repeat watch"无法正常工作

我最近在家用机器(OSX 10.9)和远程服务器(Ubuntu 12.04 64位)上安装了unison.

我在这两个地方安装了2.40.102版本.我在Mac上使用'brew install unison',我在服务器上从源代码编译.

问题是我不能让"重复观察"工作.它连接,但后来什么也没做.

Contacting server...
Connected [//... -> //...]
Run Code Online (Sandbox Code Playgroud)

就是这样.如果我传递任何东西,比如'1'到-repeat旗帜它就可以了.

还有什么我需要做的事情才能让它在变化时观察变化和同步吗?

macos ubuntu sync unison

14
推荐指数
1
解决办法
2407
查看次数

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。一切都应该没问题吧?不!

这是错误:

Connected [//zzzmyhost//home/clements/unison-home -> //zzzmyotherhost//Users/clements/clements]
Looking for changes
Uncaught exception Failure("input_value: ill-formed message")
Raised at file "/private/tmp/unison/src/lwt/lwt.ml", line 126, characters 16-23
Called from file "/private/tmp/unison/src/lwt/generic/lwt_unix_impl.ml", line 102, characters 8-23
Called from file "/private/tmp/unison/src/update.ml" (inlined), line 2105, characters 2-69
Called from file "/private/tmp/unison/src/uitext.ml", line 978, characters 16-56
Called from file "/private/tmp/unison/src/uitext.ml", line 1066, characters 6-90 …
Run Code Online (Sandbox Code Playgroud)

unison

10
推荐指数
1
解决办法
1995
查看次数

使用unison同步包含git存储库的目录

我想在两台机器上同步一个包含我的dotfiles的git repo的目录.两台机器都将对repo中的文件进行更改.通常我使用unison来同步目录,但在这种情况下,.git即使目录内容表面上相同,目录中的文件也会发散.当它看到这一点时,Unison会举手并退出.

$ unison dotfiles
changed  <-?-> changed    .git/FETCH_HEAD
changed  <-?-> changed    .git/ORIG_HEAD
changed  <-?-> changed    .git/index
changed  <-?-> changed    .git/logs/HEAD
changed  <-?-> changed    .git/logs/refs/heads/master
changed  <-?-> changed    .git/logs/refs/remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

这里的逐字节同步不起作用,因为即使使用相同的文件和git状态,内部git文件也可能不同.我该如何同步这些目录?同步后,两台计算机上的所有非git文件和git状态应该相同.通过git状态我的意思是提交历史记录和暂存,但不一定是每个内部git文件的每个字节(例如.gitignore,.git).我不太了解git,我会详细了解我的意思,但如果不清楚只是评论.

我不想将任何git提交作为同步的一部分.我认为版本控制和同步是两个独立的问题.

将git和sync这些单词放入google会产生描述如何克隆repo的结果.需要明确的是,上面"同步"的使用都不是指git动作.

git unison

8
推荐指数
2
解决办法
2498
查看次数

如何使用opam安装特定版本的ocaml编译器

如何使用opam(或其他包管理器)安装特定版本的ocaml编译器(和兼容包)?

我快速浏览了一下opam文档,但是没有找到相关信息.

我需要ocaml编译器(最好是本机代码编译器)来构建unison,一个用于文件同步的软件.我需要使用相同版本的ocaml在两台机器上构建unison,否则unison会发出错误并中止其职责(yiiii!).

我尝试从tar球构建ocaml版本4.04.0,然后使用它来构建unison,但在其中一台机器上,unison的构建失败并显示错误消息,

make[1]: Entering directory '/home/norio/Downloads/unison/unison-2.48.4_expand/src'
ocamlc -o mkProjectInfo unix.cma str.cma mkProjectInfo.ml
File "mkProjectInfo.ml", line 1:
Error: Error while linking /home/norio/Downloads/unison/ocaml_for_unison/lib/ocaml/unix.cma(Unix):
The external function `unix_has_symlink' is not available
if [ -f `which etags` ]; then \
    etags *.mli */*.mli *.ml */*.ml */*.m *.c */*.c *.txt \
          ; fi 
make[1]: Leaving directory '/home/norio/Downloads/unison/unison-2.48.4_expand/src'
Run Code Online (Sandbox Code Playgroud)

我不想出发寻求unix_has_symlink功能,并致力于探索图书馆依赖的沼泽,许多开发人员在文明来临之前已经倒下,并且发明了包裹管理者.

有没有什么, opam install ocamlc-4.04opam install all-packages


附录

unix_has_symlink在运行Linux Mint 18 Cinnamon 64 bit的计算机上观察到错误消息.这个函数是某个unix/linux库的一部分,而不是ocaml包吗?

symlink ocaml package-managers unison opam

8
推荐指数
1
解决办法
3140
查看次数

如何在两台机器之间保持eclipse工作区同步?

我在家里和工作中都有几乎相同的Linux(Fedora)机器,我使用优秀的Unison程序将我的文件保存在两台机器上.我一直试图让eclipse工作区在两台机器上保持同步,但这已经失败了.我试过两个:

  1. 仅同步/ workspace目录,由于插件升级导致的不良
  2. 同步/ workspace和我的.eclipse/director.

会发生什么是我在一台机器上工作,在日食上创建新项目等等.然后一致.然后,当我去另一台机器时,项目有时候不会出现,有时它们会出现,但eclipse无法找到文件,有时(很少)它可以工作.

我不明白为什么eclipse因为我有相同的工作空间,eclipse版本甚至.eclipse目录而变得如此困惑.

eclipse linux rsync unison

7
推荐指数
1
解决办法
7430
查看次数

当我没有对我的存储库做任何事情时,为什么`.git/index`会改变?

使用最新的Debian版本的git(我正在使用1.7.2.5),我注意到.git/index文件可能会神秘地改变,而我没有执行任何我认为应该更改存储库的操作.(我的shell偶尔运行,git branch因此它可以显示检出的分支,但不应该更改任何内容.)更改会生成一个.git/index与原始文件长度相同但包含不同位的文件. 导致这种变化的原因是什么,我怎么能阻止它呢?

(这种变化很不方便,因为它会让Unison文件同步器变得混乱.)

git unison

6
推荐指数
1
解决办法
1001
查看次数

忽略除一个子文件夹之外的目录中的所有内容

我有一个目录~/x7/music/sfx.
根目录中有一些文件和文件夹~/x7/music.
我需要只同步sfx文件夹并忽略其他任何内容music.

我尝试过很多变种,但都错了.

ignore = Name music/*
ignorenot = Regex music/sfx/.* (OR just *)
Run Code Online (Sandbox Code Playgroud)

不起作用.

我期待用类似的东西

ignore = Name music/*^/
Run Code Online (Sandbox Code Playgroud)

regex unison regular-language

6
推荐指数
1
解决办法
2737
查看次数

Unison 保留目录时间

在 Unison(双向文件同步程序)手册中,当您设置-times=true首选项时,只有文件的时间戳保持不变,目录不变:

从手册:

times 当此标志设置为 true 时,将传播文件修改时间(但不是目录修改时间)。

我想看看是否有任何方法可以在同步过程中保留目录时间?

directory timestamp sync unison

5
推荐指数
1
解决办法
1854
查看次数

Uniion 选项 `prefer=newer` 和 `force=newer` 之间有什么区别?

Unison 手册的一部分force

您还可以指定-force newer(或-force older) 来强制 Unison 选择修改时间较晚(较早)的文件。在这种情况下,-times还必须启用该首选项。

我的理解是,当发生冲突时,将采用更新的文件版本。但还有其他选项prefer,也可以设置newer为。不幸的是,描述prefer很少,所以我不知道什么prefer=newer意思以及有什么区别?

synchronization unison

5
推荐指数
1
解决办法
2650
查看次数