因此,根据这维基百科关于版本控制中合并的页面,Darcs使用补丁转换,Git在重基时也使用补丁转换。
我很想知道为什么Git重基在某些情况下不需要指数时间,就像Darcs一样?
这页面列出了在Darcs中可能发生的一系列案例,以及如何尝试解决这些问题。
发布于 2019-06-08 20:14:58
在我从某个地方回忆起来的一个例子中,您可以看到发生了什么:从六行开始,从一个分支开始,在前面插入三行G,然后在前面再插入六行,在另一个分支上(从第一个补丁/提交)将C更改为C4。现在合并这两个分支。
Git将产生A,B,C4,D,E,E,G,A,B,D,D,F;darcs将改变第二个C,前提是它的身份跟踪比Git的上下文和位置跟踪产生更好的结果。如果"4“是块的初始化代码,则Git的结果是错误的;如果是函数或文件的初始化代码,则darcs的结果是错误的。
是身份追踪占据了时间。
https://stackoverflow.com/questions/56502483
复制相似问题