我们有一个 svn 项目,其中也有几个插件vendor/plugins
- 全部通过svn:externals
.
我有一个同时跨越主项目和其中几个插件的提交。
当我执行svn st
它时,它会列出所有正确子目录中的所有更改文件,但是当我尝试执行svn ci
它时,它只显示我本地项目中的文件。
如何进行包含本地更改和目录的单个提交svn:externals
?
我们有一个 svn 项目,其中也有几个插件vendor/plugins
- 全部通过svn:externals
.
我有一个同时跨越主项目和其中几个插件的提交。
当我执行svn st
它时,它会列出所有正确子目录中的所有更改文件,但是当我尝试执行svn ci
它时,它只显示我本地项目中的文件。
如何进行包含本地更改和目录的单个提交svn:externals
?
好的,看起来将本地更改与 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 是插件的数量加上工作副本)。您仍然可以将两个提交与相同的提交消息联系在一起。