我在Ubuntu上使用Apache Subversion(SVN)。我有一个文件,用于几个子项目。所以我使用硬链接到同一个文件。
svn commit
之后,硬链接似乎成为独立文件(链接数变为1)。
SVN是否可以保留硬链接?
答案 0 :(得分:3)
自1.1(2004)以来,Subversion支持符号链接。
无法识别硬链接并将其作为普通文件处理。
另见Version Control with Subversion
版本化符号链接
在非Windows平台上,Subversion能够版本化特殊类型符号链接(或“符号链接”)的文件。符号链接是一个文件,它充当对文件系统中某些其他对象的透明引用,允许程序通过对符号链接本身执行操作来间接读取和写入这些对象。
当一个符号链接被提交到Subversion存储库时,Subversion会记住该文件实际上是一个符号链接,以及符号链接所指向的对象。当该符号链接被签出到非另一个工作副本时-Windows系统,Subversion从版本化的符号链接重建真实的文件系统级符号链接。但这并不以任何方式限制Windows等不支持符号链接的系统上的工作副本的可用性。在这样的系统上,Subversion只是创建一个常规文本文件,其内容是原始符号链接指向的路径。虽然该文件不能用作Windows系统上的符号链接,但它也不会阻止Windows用户执行其他与Subversion相关的活动。
答案 1 :(得分:2)
硬链接是普通文件。您只能知道它是从更多地方链接的,因为链接数大于1。
有人认为你可以在每个项目中拥有相同的文件,就是使用svn externals。通过这种方式,一个项目将拥有您要共享的文件,而所有其他项目将使用该文件。
您可以阅读有关svn externals here的更多信息。