我目前正在编写一个基于简单Node.js
的修订系统:只是commit
,没有什么花哨的brunch
,revert
只是一个保持技能形状的练习。我使用 sqlite 作为数据后端,具有以下简单的 shema:
commitid int
parentid int
branch text
diff blob
现在,当我切换分支时,我需要遍历所有提交并将差异相互应用,这可能适用于 10 次提交,但对于 1000 次提交,这肯定需要一些时间。其他系统喜欢Hg
或git
在几秒钟内切换分支,并且(实际问题)我想知道它们是否像每 100 次提交一样保留某种缓存,或者如何处理?