【问题标题】:version control system history handling版本控制系统历史处理
【发布时间】:2012-09-20 12:10:07
【问题描述】:

我目前正在编写一个简单的基于Node.js 的修订系统:只是commitbrunchrevert 没什么花哨的,只是一个保持技能形状的练习。我使用 sqlite 作为数据后端,具有以下简单的 shema:

commitid int
parentid int
branch text
diff blob

现在,当我切换分支时,我需要遍历所有提交并将差异应用在彼此之上,这对于 10 次提交可能很好,但对于 1000 次提交,这肯定需要一些时间。其他系统,如Hggit 在几秒钟内切换分支,并且(实际问题)我想知道他们是否像每 100 次提交一样保留某种缓存,或者如何处理?

【问题讨论】:

  • 如果有人也喜欢这个话题here's 很好读

标签: git version-control mercurial commit


【解决方案1】:

嗯,可以肯定的是,在 git 中:

  • 你可以有多个父母
  • 分支名称不是提交的一部分:同一个提交可以属于多个分支

另外,git 中的 blob 不是 diff,而是完整文件;但据我所知,hg 保持差异。

【讨论】:

    猜你喜欢
    • 2010-10-07
    • 2018-05-03
    • 2011-02-07
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多