【发布时间】:2019-06-11 18:46:24
【问题描述】:
我使用 SVN 进行版本控制,在 Eclipse 中有一个项目。 但是,我在 Windows 10 中使用 TortoiseSVN 作为客户端。
所以我从 Windows 资源管理器提交和更新,这没问题。
所以我开始了一个测试。
我在存储库中有一个文件夹/trunk,在存储库中还有一个文件夹/branches/1.77。
(我用 Tortoise SVN->Branch/Tags 创建的没有问题,我没有切换。)
首先我将我的工作副本指向主干文件夹,创建一个文件versionado.trunk.txt 并提交该更改。
此时一切正常。
我切换到/braches/1.77。在我的工作副本中,我看到 SVN 删除了 versionado.trunk.txt。
然后在我的工作副本中创建另一个文件versionado.branch.txt,然后提交。很好,我已经版本化了versionado.branch.txt。
在我的工作副本中,我没有 versionado.trunk.txt,因为我在分支上工作。
当我再次切换到主干时,versionado.branch.txt 从我的工作副本中删除,因为我正在主干中工作,并且 SVN 再次创建了versionado.trunk.txt。
我的问题是我必须在工作副本中的哪个位置才能从分支 (x.xx) 合并到主干?
我的策略是在主干中工作(日常开发),并且我已经在分支中部署了版本,最终我必须修复一些错误,我应该合并到主干的错误!
我尝试从分支合并到主干(我的工作副本指向主干),但 SVN 告诉我存在树冲突,因为 versionado.trunk.txt 不存在(它在从分支到主干的切换时被删除)。
知道我做错了什么吗?
【问题讨论】:
-
天哪,我好几年没用过SVN了。当您想将分支合并回主干时,是否需要使用
--reintegrate标志?你在用吗?是的,您必须将工作副本更新到主干才能将分支合并到其中。如果可能的话,将 SVN 扔出窗外并切换到 Git 或 Mercurial。 -
@s.m.除非 OP 使用分支完成,否则这是不好的建议。 Reintegrate 用于完成分支,而不是简单地将来自分支的持续更改合并到主干中。由于听起来 OP 正在描述持续支持功能分支,因此我认为这不适用。
标签: svn version-control tortoisesvn