我在Windows XP上使用SVN。
情况:SVN作为文档存档。我有一些文件需要组织到各种文件夹中,但保留原始文件结构。
Example: In a folder called "Templates"
File1.doc
File2.doc
File3.xls
File4.xls
现在,我希望将它们组织在不同的文件夹中:
Templates\Type1
File1.doc -> ..\File1.doc
File2.doc -> ..\File2.doc
File3.xls -> ..\File3.xls
Templates\Type2
File1.doc -> ..\File2.doc
File2.doc -> ..\File1.doc
File3.xls -> ..\File4.xls
当修改Templates文件夹中的文件时,Type *文件夹中的文件指向正确的文件。
如何在SVN中实现这一目标?还有其他替代方法吗?
答案 0 :(得分:1)
你可以使用文件外部件在subversion中进行软件链接。
将svn:external
属性添加到您希望文件所在的文件夹中。该属性应如下所示:
..\File1.doc File1.doc
..\File2.doc File2.doc
..\File3.xls File4.xls
第一列是原始文件的路径。第二列是文件的本地名称。
警告在工作副本中,这些文件将不会同步。即如果您更改其中一个,则在您提交更改并更新工作副本之前,第二个不会更改。如果您要更改这两个文件,则会产生冲突,您将无法提交。
答案 1 :(得分:1)
查看符号链接here上的subversion文档。
引用链接页面,强调我的:
版本化符号链接
在非Windows平台上,Subversion可以对其进行版本控制 特殊类型符号链接(或“符号链接”)。符号链接是一个文件 充当对其中某些其他对象的透明引用 文件系统,允许程序读取和写入这些对象 间接通过对符号链接本身执行操作。
将符号链接提交到Subversion存储库时,Subversion 记得该文件实际上是一个符号链接,以及该对象 符号链接“指向”。当符号链接签出时 在非Windows系统上的另一个工作副本,Subversion重建 来自版本化符号链接的真实文件系统级符号链接。但 这绝不会限制工作副本的可用性 Windows等不支持符号链接的系统。在这样的系统上, Subversion只创建一个内容为的常规文本文件 原始符号链接指向的路径。虽然那个文件不能 在Windows系统上用作符号链接,它也不会阻止 Windows用户执行其他与Subversion相关的操作 活动。