自定义目录/文件夹合并工具

Rav*_*i S 2 merge ocaml ripemd

我正在考虑开发一个自定义目录/文件夹合并工具,作为学习函数式编程的一部分,以及划分非常个人化的痒.

我通常在三台不同的计算机上工作,我倾向于在本地积累大量文件(文本,视频,音频),然后精心合并它们以备份.我很确定我有浪费空间的欺骗和不需要的文件.我正在转向云备份解决方案作为辅助备份源,我希望通过消除冗余文件来节省尽可能多的空间.

我有一个复杂的深层嵌套目录结构,我想要一个自动向下遍历文件夹树并执行合并的自动化工具.另一个问题是我使用Linux和Windows的混合,我的许多文件名称中都有空格...

我最初的想法是,我需要为每个文件生成哈希值,并使用哈希值而不是文件名进行比较(文件夹名称中的空格以及源和目标之间的文件内容可能不同).RIPEMD-160在性能和避免碰撞之间取得了很好的平衡吗?还是SHA-1够了吗?SHA-256/512是否过度杀伤?

哪个函数式编程环境带有一组用于生成这些哈希的现成库?我倾向于OCaml ......

ala*_*rik 8

查看Unison文件同步器.

我自己不使用它,但我听到了不少积极的评论.它是一个基于一些理论基础的成熟软件.

此外,它是用OCaml编写的.