来自 Mercurial 文档:
The manifest is the file that describes the contents of the repository at a particular changeset ID https://www.mercurial-scm.org/wiki/Manifest
克隆 Mercurial 存储库时,我看到输出行:
adding changesets
adding manifests
adding file changes
我不明白这些东西之间的区别。我以为我理解变更集是什么,但我不知道它与一组“文件更改”有何不同。根据上面的描述, list 听起来像是同一件事。那么所有这些之间有什么区别?
最佳答案
Mercurial 将版本控制系统中需要跟踪的信息分为几个级别:
- 变更集——有关每个修订的元数据。谁(作者)、何时(日期和时间)、原因(摘要文本)和内容(受影响的文件名)等都存储在这里。
- list ——每个 list 列出了给定版本的文件的文件版本。这就像数据库中的链接表;不包含文件内容,只包含给定文件的哪个版本是此修订的一部分。
- 文件更改——这些文件存储实际的文件数据。存储完整形成的给定文件的每个版本是低效的。相反,它以增量压缩形式存储文件数据;版本之间的更改会被存储,偶尔会保存完整副本以帮助更快地恢复到版本。
克隆时,所有 3 个级别都需要从远程服务器复制到您的存储库中。
请参阅 Mercurial Wiki Design page了解详情。
关于mercurial - 在 hg clone 中, "adding changesets"、 "adding manifests"和 "adding file changes"之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39664532/