问题 版本控制如何工作?


版本控制通常如何工作?它是否将差异文件保存为带有哈希的跟踪以验证路径?


10201
2018-05-18 06:53


起源



答案:


不同的VCS使用不同的方法。例如,CVS将在服务器上为您提交的每个文件创建一个文件。这本质上是一个RCS格式的文件; CVS只是RCS的一个包装器,它在目录子树中的许多文件上运行RCS命令(RCS只能处理单个文件)。

RCS文件包含更改列表(版本号,签入消息以及更改的数量)。之后是当前HEAD版本的副本。其余的文件是版本之间的差异(很长的解释)。

这样,CVS可以快速返回HEAD版本(最常请求),并且可以计算其他版本。

CVS不做任何验证;如果您的某个文件损坏,则需要备份。由于CVS基于RCS,因此它无法对目录进行版本控制,也无法跟踪重命名。 CVS和RCS使用该标准 diff(1) 命令来创建差异。

颠覆 (SVN)类似地工作但添加了目录和重命名的版本。此外,SVN使用更好的diff算法(xdelta),它提供了一个更小的存储库。

如何解释 混帐 有效,见 这里


7
2018-05-18 07:46





查看 Eric Sinks关于版本控制的博客系列

此外,乔尔斯波尔斯基写道 Hg Init:一个Mercurial教程,这最终使我“得到”分布式源代码控制的全部内容。

皮肤猫的方法不止一种......


8
2018-05-18 06:56





的darcs 是非常不同的,恕我直言比其他SCM甚至分布式的更直观。 对于初学者来说,有一个很好的指导: 了解Darcs


0
2018-06-01 22:56