所以我有一个问题让我在Subverion中感到很悲伤.我正在一个应该保持活动状态的分支中工作,直到我的功能集在重新集成之前完成开发.不幸的是,我已经完成的事情现在已被业务视为"关键任务",他们希望我从分支机构中挑选出这些功能并将其推入主干,以便QA可以接收它.
我遇到的问题是我在一个单独的目录中开发了这个功能,这个目录是我在完成其他工作时创建的.因此,为了合并我的功能所需的剩余代码,我首先需要提取我之前执行的目录创建.
以下是我需要进行的修改:
Rev 20
A ./project_foo
A ./project_foo/not_required_file.txt
Rev 24
A ./project_foo/required_file.txt
因此要将其放入后备箱,我必须执行以下操作:
svn merge -r20:21 - >这会得到我的目录以及not_required_file.txt
svn revert project_foo/not_required_file.txt - >摆脱我不想要的文件
svn merge -r24:25 - >这让我感动我需要的文件
当我完成开发并运行svn merge --reintegrate时,哪个工作并将这些内容放入了我想要的主干中,我(显然)没有从版本20中获取not_required_file.txt,因此遇到了树冲突(从我后来做的进一步改变).
所以我正在寻找关于在这些情况下该怎么做的一些指导.
谢谢.
Wol*_*ang -2
好问题。:-)
看起来你的分支有点混乱。您有解决问题的好主意。如果有效的话?尝试一下,有时你永远不知道。
我认为你不需要合并 rev。在您的示例中,21 在 24 之前。无论如何,丢失的目录将会被创建。
如果您无法帮助自己进行分支/合并,请尝试手动移动文件(Tortoise 可以帮助您完成此操作)。
一般来说,避免部分合并修订。更频繁地做出承诺,这样您就可以以更干净的方式进行挑选。
| 归档时间: |
|
| 查看次数: |
4064 次 |
| 最近记录: |