方便使用硬链接对大型目录进行版本控制的工具

方便使用硬链接对大型目录进行版本控制的工具

我有一个相对较大的数据目录。它偶尔会更新,但通常只有一小部分树会发生变化。我目前通过使用cp -Rl previous_version/ new_version/来递归创建硬链接来更新它new_version/,然后进入new_version并手动更新已更改的文件。这非常节省空间,但很繁琐,我必须小心地用新的 inode 替换更新的文件。如果我不小心修改了文件,它将更改以前的版本。

我真正想要的是能够构建一个新目录updates/,其中仅包含已更改文件的更新版本,然后有一个可以像这样运行的假设工具:

some-tool previous_version/ updates/ new_version/

要做some-tool的就是new_version/使用来自的硬链接进行构建previous_version/,然后对于其中的每个文件,用来自的硬链接updates/替换中的现有文件。new_version/updates/

这将使我能够更轻松、更安全地完成我正在做的事情,并提供良好的更新目录,清楚地显示每个版本之间发生了什么变化。

是否存在这样的事情,或者是否有其他方法可以解决我的问题?

答案1

这个问题的解决方案是如此明显,我有点不好意思留下这个问题:

cp -Rl previous_version new_version
cp -Rlf updates/* new_version

相关内容