2013-01-21 112 views
1

山寨(硬链接),我读了SVN的“分支”使用修订的廉价拷贝(硬链接)。链接在这里。 http://svnbook.red-bean.com/en/1.7/svn.branchmerge.using.html “创建分支”一章处理这个问题。在SVN分支

但书中也说,“至于颠覆而言,这两个提交影响了不同的存储库位置不同的文件。”在“与你的分支合作”一章中。

我认为这些都是冲突。 如果一个分支是硬链接到树干中的修订版,分支的提交应该影响树干,而不是说分支本身。

如何'两次提交影响了不同的版本库位置的不同文件的可能吗?

回答

2

呀SVN使用了一种类似于硬链接引用同一版本的文件的东西。但是,只要修改文件,它就会从该硬链接分离出来,以创建该特定文件的修订版本。具有分支的事情是,大多数时候你只能更改几百个文件。因此,与“便宜复制”的交易就是为了兼顾时间和存储效率。

当你指着文​​件说:

Subversion的版本库有特殊的设计。当您复制 目录,你不需要担心资料库日益庞大 ,颠覆并不是拷贝任何数据。相反,它 创建一个指向现有树的新目录条目。如果您是一位经验丰富的Unix用户,那么您将认识到这与硬链接背后的相同概念 。

作为进一步的更改是对文件和目录的 复制目录下取得,Subversion一直采用这种硬链接 概念,在那里可以。只有在需要对不同版本的对象进行消歧时才会复制数据。

+0

谢谢,'Subversion继续使用这个硬连接概念,它可能'模糊'。但是现在,我在阅读Subversion的“冒泡”之后才知道这意味着什么。 – hanmomhanda

1

'svn copy'后,分支实际上是一个硬链接到修订。

但是,如果对该分支提交了某些内容,则会通过“冒泡”方法创建新修订。 因此,分支不再是一个简单的硬链接。

关于'bubble-up'的文件有很多帮助。