Tortoise SVN Merge“@ ###必须与@ ###的祖先相关”错误

时间:2014-03-05 17:00:49

标签: php svn tortoisesvn svn-merge

Backstory :作为入门级Web开发人员找到了一份工作。当我开始时,主开发者离开了。对我负责。从未使用过SVN。盲目进入。

问题
我一直遇到像

这样的错误
'svn://svn/svn/xxx/project_name/branches/dev@330' must be
ancestrally related to 'svn://svn/svn/xxx/project_name/trunk@326'

我开始新项目的过程是:

  1. 使用子文件夹在我的计算机上创建项目目录:
    project_name/branches
    project_name/branches/dev
    project_name/tags
    project_name/trunk

  2. 右键单击项目根目录,选择我的项目根目录,然后Add将其添加到存储库

    (以下所有内容都是我必须为当前项目做的事情,这对它们没有任何问题,但在合并时新项目中断了)

  3. Commit“dev”branch

  4. Merge“dev”进入“trunk”(合并所有修订版)* 在这里打破 *
  5. Commit“trunk”
  6. svn up
  7. 不熟悉SVN,我对此非常艰难。正如我所说,在现有项目上做3-6工作,但在新项目上,我在合并时遇到must be ancestrally related to错误。 那么,我做错了什么?非常感谢所有任何帮助。

1 个答案:

答案 0 :(得分:6)

[thatidiotguy] [1]可能没有通过主干副本创建。

如果在dev分支上使用svn log --verbose --stop-on-copy,则最早的条目应显示从中复制分支的位置。

TortoiseSVN的svn日志功能以相同的方式工作;复制停止是日志窗口中的一个复选框。

如果您没有从副本创建它,则无法合并它。

您需要重新创建开发分支并重新应用更改。

更新:通过“重新创建开发分支”,我的意思是创建一个新的分支进行开发,这是一个真正的svn副本(分支)离开主干。如果使用svn copy trunk / [application subfolder] branch / [application subfolder - branch of name]创建分支,svn将记录原始源版本。这允许将主干/基本版本中的更改智能合并到分支中(以修复缺陷,添加功能等) 复制完成后,您可以复制原始源中已更改的文件,并将其作为代码的正常更改提交。

How to replace a branch in subversion?

https://stackoverflow.com/users/821722/thatidiotguy