2

我们有一个 svn 项目,其中也有几个插件vendor/plugins- 全部通过svn:externals.

我有一个同时跨越主项目和其中几个插件的提交。

当我执行svn st它时,它会列出所有正确子目录中的所有更改文件,但是当我尝试执行svn ci它时,它只显示我本地项目中的文件。

如何进行包含本地更改目录的单个提交svn:externals

4

1 回答 1

3

好的,看起来将本地更改与 svn 外部组件结合起来并不完全可能,但您可以将所有几个外部组件组合在一起,然后检查您的本地工作更改。

要提交回一个svn:externals项目,您必须明确地将svn:externals目录名称放入签入中,例如:

svn ci vendor/plugin/<plugin_name>

您可以使用以下命令在同一命令行上同时签入任意数量的不同插件:

svn ci vendor/plugin/<plugin_one>  vendor/plugin/<plugin_two> ... 

但是您的本地工作副本更改必须单独完成。如果你不这样做,你最终会得到一个令人讨厌的警告,告诉你“无法锁定”你的本地工作副本,并询问“所有目标是否都是同一个工作副本的一部分?” 或者你会收到一些奇怪的信息说

svn: Commit failed (details follow):
svn: Illegal repository URL ''

因此,您似乎必须提交独立于 svn:externals 提交的工作副本更改。仍然 - 至少它只是,而不是 N(其中 N 是插件的数量加上工作副本)。您仍然可以将两个提交与相同的提交消息联系在一起。

于 2010-02-25T19:04:55.130 回答