Watchdog 在让您对特定目录进行递归快照方面非常棒。它甚至可以让您将快照与名为DirectorySnapshotDiff的函数进行比较。
我的程序监视目录实时演变,因此已被用于使用此函数的输出。这是非常合理的。
假设我s1, s2...
在任意时间拍摄文件系统的快照。我们将最后一个快照与最新的快照进行比较以创建差异对象。
d1 d2 # detected differences (my app eats these up)
s1 -> s2 -> s3 # evolving states (snapshots taken) of the file system.
t=0 -------------------> time
无名无名。那太棒了。
但是,第一次运行我的应用程序时,我需要知道当前状态。我想假装有一个 null 状态s0
,它转换为s1
; 因此我可以区分格式。IE
d0 # I want to create this 'bootstrapping' difference set
(s0) -> s1 # Assume s0 is the empty snapshot: it reports everything is an addition
我怎么做?
这背后的动机是:我喜欢函数式编程。与其编写代码来使用快照和快照差异(两者都是相当大的工作),我更喜欢保持高重用和最少代码。