Subversion如何检测文件中的冲突?

时间:2014-10-11 09:18:52

标签: svn

从存储库获取更新时,SVN会检测到已修改文件的本地副本与服务器中的文件的冲突。它如何检测文件中的冲突?它是基于比较两个文件中的相同行号吗?算法如何运作?

1 个答案:

答案 0 :(得分:1)

与所有版本控制系统一样,SVN基于差异及其对基于文本的文件的应用。因此,当合并时,SVN采用一系列差异来表示应该合并哪些更改并一次应用这些差异。只要可以应用差异 ,这样就可以正常工作。如果没有,你会遇到“冲突”。

当要应用的文本文件已被更改时,无法应用Diffs,因此差异不再“适合”。通常情况下,文件已在diff应用于的相同位置被更改。

在这种情况下,SVN(像大多数版本控制系统一样)懦弱地拒绝应用差异。 SVN看到的是:一行应该根据差异进行更改,但是已经被本地文件状态更改为其他内容。那么哪个改变意味着最后一个?这是一个通常无法自动解决的问题,因为它需要了解线路的用途。因此SVN将决定留给您。