32

我们可以在 Subversion 中将单个文件设置为外部文件吗?

4

4 回答 4

24

是的,可以使用 svn 1.6。它记录在 svn book 的 nightly build 版本中。

但是即使文件外部工作正常,您也应该只使用文本文件(目前),因为二进制文件不能作为文件外部工作正常工作。

于 2009-08-31T06:51:40.587 回答
5

正如第一个答案中提到的,SVN Externals 记录在SVN Book 的第 3 章中,并且在那里给出了很多语法示例。

此外,还给出了以下说明:

“因为 svn:externals 属性有一个多行值,我们强烈建议您使用 svn propedit 而不是 svn propset。”

根据我测试 Tortoise SVN v1.9.6 和 svn.exe v1.9.5 的经验,结果如文档所示。

  • 引入一个包含所有文件的外部文件夹是可行的。
  • 从同一个 repo引入一个文件是可行的。
  • 从不同的 repo引入单个文件失败,此限制记录在 SVN 书中。

这会导致笨拙的解决方法。如果您控制两个存储库,则可以将单个文件克隆到源存储库中自己的文件夹中(通过存储库中单个文件的外部),然后通过引入其整个文件夹将其跨存储库边界外部到目标存储库,其中仅包含一个文件。

使用 Tortoise SVN 客户端执行此操作的文档位于 tortoisesvn.net 上

于 2017-08-02T07:09:26.543 回答
4

我找不到一个关于如何在外部创建 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

将在as下创建文件https://myserver/my/svn/location/my_sample_file.cfg.template。显然,我假设您已经在 svn 下的当前目录下拥有该文件夹。my_foldermy.cfgmy_folder

于 2015-06-22T08:26:34.943 回答
1

对于 SVN 1.9.4,语法类似于文件夹的语法:

svn propset svn:externals <remote file> <local file>

例如,这将local.txt在当前目录中创建文件,引用file.txt

svn propset svn:externals ^/trunk/path/to/file.txt local.txt
于 2016-06-09T19:11:53.787 回答