我最近读到 Lion 使用版本控制来跟踪更改(增量),而不是文件(SVN)。此功能背后的技术是否已发布?我假设它要么是 Git、Hg、Bazaar,要么是它们的自定义变体,但这完全是推测。
引用上述链接:
OS X Lion 非常智能,它只跟踪和记录文档不同副本之间的更改。这意味着 400 份完整副本不会被保存,而只会保存版本之间的部分更改。
答案1
完全不同的东西。
Ars Technica 的 Lion Review 对此进行了详细介绍。(看这里)
基本上,它会对文件进行分块,查找不同的块,并将其存储在 SQLite 数据库中。(CoreData 使用 SQLite)使用单独的数据库来跟踪所有不同的修订版本以及哪些块与哪些修订版本相匹配。
处理分块的引擎也是半智能的。它可以破解某些文件格式(例如 JPEG 图像、PDF 文件、MPEG 音频/视频文件等)并分离出其中的各个块,然后在其中查找更改。这可以防止视频标头中的更改生成一连串更改,从而不必要地增加增量存储。
还要注意:想要使用此版本控制系统的应用必须经过编写。默认情况下,它不是自动的,也不是文件系统上的每个文件都使用此框架进行版本控制。
我想到了一个问题,但还没有看到有人解决:是否可以“固定”特定版本的文件?Ars 评论指出 Lion 的代际存储框架会自动淘汰旧版本。有没有办法告诉操作系统某个版本足够重要,值得无限期保留?