如何签入本地副本和svn:外部子目录在一个提交? [英] How do I checkin to local copy AND svn:externals subdirectories in one commit?

查看:342
本文介绍了如何签入本地副本和svn:外部子目录在一个提交?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个svn项目,在供应商/插件中也有几个插件 - 所有通过 svn:externals

We have an svn project that also has several plugins in vendor/plugins - all pulled in via svn:externals.

我有一个提交,同时跨越主项目和几个这些插件。

I have a commit that spans both the main project and several of these plugins all at once.

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

When I do an svn st it lists all my changed files across all the correct sub directories, but when I try to do an svn ci it only shows files from my local project.

如何做一个包含本地更改 svn:externals 目录?

How do I make a single commit that encompasses both the local changes and the svn:externals directories too?

推荐答案

它不是完全可能的局部变化与svn外部,但您可以将所有的几个外部在一起,然后检查您的本地工作变化后。

Ok, it looks like it's not completely possible to combine local changes with svn externals, but you can combine all of several externals together and then checkin your local working changes afterwards.

要提交回 svn:externals 项目中,您必须显式将 svn:externals 目录名放入检入例如:

To commit back to an svn:externals project you have to explicitly put the svn:externals directory name in the checkin eg:

svn ci vendor/plugin/<plugin_name>

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

You can checkin any number of different plugins all together on the same command-line with:

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

但是您的本地工作副本更改必须单独进行。
如果你不这样做,你会得到一个讨厌的警告,告诉你无法锁定你的本地工作副本,并问是否所有的目标是同一个工作副本的一部分?或者你会得到一些奇怪的消息说

But then your local working-copy changes have to be done separately. If you don't, you'll end up with either a nasty warning telling you that is "Unable to lock" your local working copy and asking if "Are all the targets part of the same working copy?" OR you'll get some weird message saying

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

所以看来你必须提交工作副本更改独立于你的svn:externals提交。仍然 - 至少它只是,不是N(其中N是插件的数量加工作副本)。
仍然可以使用同一个提交消息将两个提交绑定在一起。

So it seems you must commit working-copy changes independent of your svn:externals commit. Still - at least it's only to, not N (where N is the number of plugins plus working-copy). You can still tie the two commits together with the same commit-message.

这篇关于如何签入本地副本和svn:外部子目录在一个提交?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆