Subversion “替换”操作

5
  1. 我创建了一个分支,
  2. 然后在该文件夹(即分支)中添加了一个新文件夹和一个新文件,
  3. 然后我执行了svn addsvn commit

接着我执行svn merge回到我的主干。当我 svn commit到我的主干时,新文件夹被"添加",但文件夹里的文件却被“替换”了。

为什么这个文件会得到“替换”状态?


1
在合并之前,您的代码库中是否有相同名称的文件? - SomeWittyUsername
2个回答

3
根据TortoiseSVN手册replaced状态表示:

原始项目已被删除,一个同名的新项目代替了它。

因此,显然您应该仔细检查您已执行的操作。您是否有相同文件夹和文件(我的意思是它们的名称)的旧版本?

0

你的本地副本中是否有已被删除(本地未提交)的文件或文件夹? 如果你的主干代码库中有个文件或文件夹是在本地被删除的,那么这个删除操作必须提交到代码库。

看起来你可能没有一个并发的本地副本。例如,你可能删除了一个本地副本中的文件或文件夹但还没提交。然后当你尝试合并一个分支到你的本地副本时,本地已经被标记为删除但是未提交的文件或文件夹会被同名的分支文件夹替换掉。因为文件或文件夹的删除操作之前没有被提交,所以它们的状态变成了“被替换”。


事实上,并没有发生删除操作。我只是在我的分支中添加\提交了一个新的文件夹和文件,然后将其合并\提交回主干。这个文件夹和文件以前从未存在于主干或分支中? - user1790682

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接