5

使用 TortoiseSVN 合并项目的两个分支后,我在提交更改时遇到了问题。

以下是详细信息:

我做了一个合并分支到我正在处理的项目的主干。

项目包括主存储库和与主存储库连接的库,作为svn 外部(库也有分支)作为项目的子目录。

当我试图提交更改时,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文件夹仍然包含正确版本的库(主干版本)。

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

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

知道出了什么问题吗?

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

  1. 从项目文件夹提交更改
  2. 从库文件夹提交更改

这没有任何问题。

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

编辑:

  • (在 Ken G 回答后) TortoiseSVN 1.3.x -> 1.5.3.x 的固定版本。
4

3 回答 3

2

TortoiseSVN 1.3 已经很老了,最新的版本是 1.5.x。自 1.3 以来,Subversion 和 TortoiseSVN 都发生了许多变化,因此升级您的客户端可能是您最好的选择。

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

于 2008-10-21T21:25:17.900 回答
1

我想我记得在 TortoiseSVN 中读过一个与此相关的错误,该错误已在最新版本中修复。检查最新的发行说明

于 2008-10-21T20:27:38.843 回答
1

svn:external将导致 Subversion 在签出时合并不同的存储库路径,但最终这些路径仍然“不相交”,因此您必须执行两次提交才能应用更改。

这是来自带有 Subversion 的版本控制的相关引用

而且 Subversion 仍然只在不相交的工作副本上运行。因此,例如,如果您想提交您在一个或多个外部工作副本中所做的更改,则必须在这些工作副本上显式运行 svn commit——在主工作副本上提交不会递归到任何外部工作副本.

于 2008-10-22T15:17:41.730 回答