版本控制系统技术演进史,从SCCS到Git(23)
技术实现
和Git一样 , Mercurial是一个分布式版本控制系统 , 它允许任何数量的开发人员独立于其他人使用他们自己的项目副本 。 Mercurial利用了许多与Git相同的技术 , 例如压缩和SHA-1哈希 , 但是采用了不同的方式 。
当提交新文件以在Mercurial中进行跟踪时 , 将在隐藏目录.hg/store/data/中为其创建相应的revlog文件 。 可以将revlog(或修订日志)文件看作是较旧的VCS(如CVS , RCS和SCCS)使用的历史记录文件的现代化版本 。 与Git为每个暂存文件的每个版本创建一个新的Blob不同 , Mercurial只是在该文件的revlog中创建一个新条目 。 为了节省空间 , 每个新条目仅包含先前版本的增量(更改) 。 一旦达到阈值数量的增量 , 将再次存储文件的完整快照 。 在应用许多增量来重建特定文件修订版时 , 这减少了查找时间 。
这些文件修订日志的名称与它们跟踪的文件匹配 , 但是后缀为.i和.d扩展名 。 .d文件包含压缩的增量内容 。 .i文件用作索引 , 以快速跟踪.d文件中的不同修订版本 。
Mercurial使用了另一种类型的修订日志 , 称为变更日志 。 更改日志包含条目列表 , 这些条目将每个提交与以下信息相关联:
推荐阅读
- 杰斯·麦卡兰|LOL手游2.5版本,杰斯“加强炮”打不动脆皮?关键在于装备改动!
- 德鲁伊|《炉石传说》:新版本硬核实力谁最强?德鲁伊才是大BOSS!
- 原神|原神:2.6版本迎来巨变,草系角色将直接上线,瑶瑶女玩家狂喜!
- 魔兽世界|魔兽世界:60版本赛季服最新消息,大家都跑过去体验,真香定律
- 池子|“为什么优菈总是在让人始料未及的版本到来?我还没准备好呀!”
- 单机|《DNF》单机手游版,“女枪”版本更耐玩哦!
- 女孩|UZI谈版本猫咪热门原因:段位低的人不懂,下路AD带双虚弱的强大
- 神超|云顶之弈S6来袭,神超分享上分组合,一枪秒敌,这就是版本答案
- kpl|主播趣闻:卡萨吐槽转会谣言,姿态实锤复出!硬币哥梦回S9版本
- 原神|原神:新版本直播送300原石!新版本卡池公布,阿贝多和优菈复刻