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

时间:2011-04-10 04:39:08

标签: merge ocaml ripemd

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

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

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

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

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

1 个答案:

答案 0 :(得分:8)

查看Unison file synchronizer

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

此外,它是用OCaml编写的。