在SVN中合并后我无法提交更改

时间:2008-10-21 20:22:47

标签: svn tortoisesvn merge svn-merge

在使用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.

当然清理没有帮助。

项目目录的

svn:external 关键字定义良好, lib 文件夹中仍包含正确版本的库(主干版本)。< / p>

SVN服务器和客户端都是1.5.x版本(TortoiseSVN是1.5.3.x)。

从技术角度来看,项目都是同一SVN存储库中的项目。

知道出了什么问题吗?

我一直在谷歌搜索解决方案,但没有找到任何有用的东西,所以我尝试分两步提交我的更改:

  1. 从项目文件夹提交更改
  2. 从库文件夹提交更改
  3. 哪个没有任何问题。

    但我仍然想知道为什么我不能在一次提交中提交所有内容。

    编辑:

    • (Ken G回答之后)TortoiseSVN 1.3.x的固定版本 - &gt; 1.5.3.x。

3 个答案:

答案 0 :(得分:2)

1.3 TortoiseSVN 很旧,最新版本为1.5.x.自1.3以来,Subversion和TortoiseSVN都发生了很多变化,所以升级你的客户可能是你最好的选择。

话虽如此,1.5 TortoiseSVN将创建/更新工作副本为1.5版格式。使用TortoiseSVN(或任何SVN客户端)对以前的Subversion工作副本时要非常小心。

答案 1 :(得分:1)

我想我记得在TortoiseSVN中读到了与此相关的错误,该错误已在最新版本中修复。查看最新的release notes

答案 2 :(得分:1)

svn:external 会导致Subversion在签出时合并不同的存储库路径,但最终这些路径仍然是“不相交”的,所以你必须做两次提交以应用更改。

以下是Version Control with Subversion

的相关引用
  

Subversion仍然真正运作   仅适用于非不相交的工作副本。   所以,例如,如果你想提交   您在一个或多个中所做的更改   更多的外部工作副本,   你必须明确地运行svn commit   那些工作副本 - 承诺   主要工作副本不会递归   进入任何外部的。