简体   繁体   English

Tortoise SVN合并特定版本

[英]Tortoise SVN Merge specific revision

I'm am starting to use SVN with client Tortoise. 我开始在客户端Tortoise中使用SVN。 Now I have the following situation: 现在我有以下情况:

I have my trunk at revision 20 and my branch is from revision 10. I want to merge only a bug fix in revision 20. In revision 20 I have 1 file change on test1.txt In revision 19 I also had a change on test1.txt and on test2.txt. 我的主干版本为20,而分支来自版本10。我只想合并版本20中的错误修复。在版本20中,test1.txt上有1个文件更改。版本19中,test1上也有更改。 txt和test2.txt上。 The change in test1.txt from 19 uses something in the change in test2.txt. 将test1.txt中的值从19更改为使用test2.txt中的更改。 The change in test1.txt from 20 uses something from the changes in 19. test1.txt中20的更改使用了19中的更改。

When I just merge revision 20 I will have issues with my code changes. 当我仅合并修订版20时,我的代码更改就会出现问题。 So how can I see if I need to merge more revisions? 那么,如何查看是否需要合并更多修订版?

Is there an easier way then doing a "Show log" on each individual file in order to check? 有没有更简单的方法,然后对每个文件进行“显示日志”以进行检查?

I really don't want to merge all revisions between my trunk and branch. 我真的不想合并主干和分支之间的所有修订。 Only the one's I need for specific bug fixes. 我只需要一个人即可修复特定的错误。

Branch and Release tactics 分支和发布策略

Right now we have a sprint of 6 weeks where all developers commit on the trunk continuously bug fixes/new functionality/clean ups etc. After the 6 weeks we do a Branch split which will now have maybe like an additional 200 revisions when you compare it to the previous Branch. 现在,我们有一个为期6周的冲刺,所有开发人员都在不断进行错误修复/新功能/清理等工作。在6周之后,我们进行了分支拆分,当您进行比较时,现在可能会有200个修订版本到前一个分支。

After the branch is done all must be technical and functional tested. 分支完成后,必须对所有技术和功能进行测试。 This may result in rejections of issues, because of new bugs are introduced or other things. 由于引入了新的错误或其他原因,这可能会导致问题被拒绝。 Before we can release the software to our customers we need all new issues to be approved. 在我们将软件发布给客户之前,我们需要批准所有新问题。 So some issues will go back to developers and they will fix it in the trunk. 因此,一些问题将退回给开发人员,他们将在后备箱中进行修复。 After all rejected issues are solved they need to be merged to the branch so it can be released to our customers. 解决所有被拒绝的问题后,需要将它们合并到分支机构,以便可以将其发布给我们的客户。

Now you can say why don't you do the additional bug fixing in the branch itself. 现在您可以说为什么不在分支本身中进行其他错误修复。 We used to do this but we sometimes had issues where it's fixed in the branch but forgot to merge to the trunk. 我们曾经这样做,但有时会遇到问题,即它在分支中已修复,但忘记了合并到主干。 So in the next branch the bug is back again. 因此,在下一个分支中,错误再次出现。

Also it is very important that all developers can commit everything continuously without any hold ups. 同样重要的是,所有开发人员都可以连续提交所有内容而没有任何拖延。 That's why all developers only work inside the trunk. 这就是为什么所有开发人员只能在主干内工作的原因。

The comments I left are for clarification purposes. 我留下的评论只是为了澄清。 But to answer the original question of how to merge specific revisions, what you're going to want to do is: 但是要回答有关如何合并特定修订的原始问题,您要做的是:

  1. Right click on your checkout folder > TortoiseSVN > Merge... . 右键单击您的结帐文件夹> TortoiseSVN>合并...。
  2. Then you'll select Merge a range of revisions 然后您选择Merge a range of revisions
  3. Enter the URL to the trunk and select the option that says specific range . 输入中继线的URL并选择显示specific range的选项。 In the dialog you will then put the comma separated list of revisions you'd like to merge. 然后,在对话框中,将要合并的修订列表以逗号分隔。 (ie 19,20 ) OR use the "Show log" feature and click on the revisions numbers you would want to merge. (即19,20 ),或使用“显示日志”功能,然后单击要合并的修订号。
  4. Click Next > Merge 单击下一步 > 合并

That will then merge the revisions you're looking for. 然后,它将合并您要查找的修订。


If you add some clarifications to my comments, I can extend my answer for you. 如果您对我的评论有一些澄清,我可以为您扩展答案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM