在 SVN 中合并后我无法提交更改
使用 TortoiseSVN 合并项目的两个分支后,我在提交更改时遇到了问题。
以下是详细信息:
我对我正在处理的项目进行了合并分支。
项目包括主存储库和作为svn external(库也分支)作为项目的子目录与主存储库联合的库。
当我尝试提交更改时,TortoiseSVN 说:
Commit A
re all the targets part of the same working copy?
Unable to lock 'D:\websites\project\lib'
Please execute the "Cleanup" command.
当然清理没有帮助。
project 目录的 svn:external 关键字定义良好,lib 文件夹仍然包含正确版本的库(主干版本)。
SVN服务器和客户端都是1.5.x版本(TortoiseSVN是1.5.3.x)。
从技术角度来看,项目和库都是同一 SVN 存储库中的项目。
知道出了什么问题吗?
我一直在谷歌上搜索解决方案,但没有找到任何有用的东西,所以我尝试分两步提交我的更改:
- 从项目文件夹提交更改
- 从库文件夹提交更改
这没有任何问题。
但我仍然想知道为什么我不能一次性提交所有内容。
编辑:
- (Ken G 回答后)TortoiseSVN 1.3.x 的固定版本 -> 1.5.3.x。
I had a problem with committing changes after merging two branches of my project using TortoiseSVN.
Here are details:
I did a merge branch to trunk of project which I am working on.
Project includes main repository and libraries joint to main repository as svn external (libraries are also branched) as subdirectory of project.
When I was trying to commit changes TortoiseSVN said:
Commit A
re all the targets part of the same working copy?
Unable to lock 'D:\websites\project\lib'
Please execute the "Cleanup" command.
Of course Cleanup didn't help.
svn:external keyword for project directory was well defined, also lib folder still contained proper version of libraries (trunk version).
Both SVN server and client are in 1.5.x version (TortoiseSVN is 1.5.3.x).
From technical point of view both project and libraries are projects in the same SVN repository.
Any idea what went wrong?
I had been googling a bit for the solution, but didn't find anything useful, so I tried to commit my changes in two steps:
- commit changes from project folder
- commit changes from libraries folder
Which went without any problems.
But I am still wondering why I couldn't commit everything in one commit.
EDITS:
- (After Ken G answer) Fixed version of TortoiseSVN 1.3.x -> 1.5.3.x.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
TortoiseSVN 1.3非常旧,最新版本为 1.5.x。 自 1.3 以来,Subversion 和 TortoiseSVN 都发生了许多变化,因此升级您的客户端可能是您最好的选择。
话虽如此,1.5 TortoiseSVN 将创建/更新工作副本为 1.5 版格式。 在针对以前的 Subversion 工作副本使用 TortoiseSVN(或任何 SVN 客户端)时要非常小心。
1.3 of TortoiseSVN is very old, the latest revision being 1.5.x. There have been numerous changes in both Subversion and TortoiseSVN since 1.3, so upgrading your client is probably your best bet.
Having said that, 1.5 TortoiseSVN is going to create/update Working Copies to a version 1.5 format. BE VERY CAREFUL when using TortoiseSVN (or any SVN client) against a previous Subversion's working copy.
svn:external 将导致 Subversion 在签出时组合不同的存储库路径,但最终这些路径仍然是“不相交的”,因此您必须进行两次提交才能获得应用更改。
以下是 使用 Subversion 进行版本控制<的相关引用/a>
svn:external will cause Subversion to combine different repository paths on check-out, but ultimately those paths are still 'disjoint', so you have to do two commits to get the changes applied.
Here's the relevant quote from Version Control with Subversion
我想我记得在 TortoiseSVN 中读到过一个与此相关的错误,该错误已在最新版本中修复。 查看最新的发行说明。
I think I remember reading about a bug relating to this in TortoiseSVN that's been fixed in the latest release. Check the latest release notes.