【发布时间】:2009-08-31 05:40:57
【问题描述】:
我们可以在 Subversion 中将单个文件设置为外部文件吗?
【问题讨论】:
标签: file svn svn-externals
我们可以在 Subversion 中将单个文件设置为外部文件吗?
【问题讨论】:
标签: file svn svn-externals
是的,可以使用 svn 1.6。在 svn book 的 nightly build 版本中是 documented。
但即使文件外部工作正常,您也应该只使用文本文件(目前),因为二进制文件 won't work correctly 是文件外部。
【讨论】:
'http://my.repo.server/src/external_repo/file1.html' is not in repository 'http://my.repo.server/src/current_repo' 您能否详细说明如何从其他存储库中获取文件作为外部文件?
正如第一个答案中提到的,SVN Externals 记录在Chapter 3 of the SVN Book 中,并且在那里给出了相当多的语法示例。
另外,给出这个注释:
"因为 svn:externals 属性有一个多行值, 我们强烈建议您使用 svn propedit 而不是 svn propset。”
根据我测试 Tortoise SVN v1.9.6 和 svn.exe v1.9.5 的经验,结果与文档一致。
这会导致一种笨拙的解决方法。如果您控制两个存储库,则可以将单个文件克隆到源存储库中自己的文件夹中(通过存储库中单个文件的外部),然后通过引入其整个文件夹将其跨存储库边界外部到目标存储库,其中仅包含一个文件。
使用 Tortoise SVN 客户端执行此操作的文档是 on tortoisesvn.net。
【讨论】:
我找不到一个关于如何在外部创建 svn 文件的好例子。因此,我在这里提供一个示例,以便对其他人有用。
格式是
svn propset svn:externals "<local file> <remote svn file>" <local dir>
例如下面的命令
svn propset svn:externals "my.cfg https://myserver/my/svn/location/my_sample_file.cfg.template" my_folder
将在my_folder 下创建文件https://myserver/my/svn/location/my_sample_file.cfg.template 为my.cfg。很明显,我假设您已经在 svn 下的当前目录下拥有文件夹 my_folder。
【讨论】:
对于 SVN 1.9.4,语法类似于文件夹的语法:
svn propset svn:externals <remote file> <local file>
例如,这将在引用file.txt的当前目录中创建文件local.txt:
svn propset svn:externals ^/trunk/path/to/file.txt local.txt
【讨论】: