Y.S*_*Y.S 17 svn android intellij-idea branching-and-merging android-studio
我们已决定为我们添加到移动应用程序中的每个新功能创建新的SVN分支.这背后的最终目标是保留每个代码更改的历史记录(当我们手动将项目文件夹复制到SVN而不是创建和合并分支时,这不会发生).
我的问题是,到目前为止,我无法将更改从一个分支合并到另一个分支.
我已经提到以下帖子但没有成功:
这是我到目前为止所尝试的:
我有两个功能分支,如下面Tortoise SVN中所示:
我想将分支Feature_A3中的更改合并到分支Feature_A2中.为此,我Merge from在A2工作副本中使用Android Studio的VCS中的选项:
然后它要求我选择要从(A3)合并的分支或配置其他分支:
我点击配置分支,只是为了显示现有的分支配置:
如您所见,A2是Trunk,A3是分支.它是否正确?
然后它问我想要合并到A2的A3部分.我选择/src目录(存在相关更改的位置):
然后它慷慨地给了我三种不同的方式来执行合并操作:
我选择了第三个选项,因为它直接给了我需要合并的更改:
我点击Merge Selected和BAM!我每次都会收到此错误:
关于"未解决的冲突"或"跳过的项目"是什么,没有任何线索.为什么我会收到此错误,如何将A3中的更改合并到A2中?有人可以帮忙吗?所有答案将不胜感激.谢谢 ...
我一直在关注以下官方的Intellij IDEA文档:
请注意:
目前我使用的是Subversion,而不是Git.
我本地工作副本的目录结构与SVN repos的目录结构不完全相同.这可能是错误的原因吗?
答案 ...
感谢Peter Parker,尤其是Yoav Aharoni的宝贵意见.正如Yoav正确指出的那样,确实是指定分支位置文件夹的方式.它需要是包含分支的文件夹,而不是分支文件夹本身:正如Peter正确地说的那样,选中"Include merged revisions"会显示合并的历史记录.我现在能够从IDE本身合并,并在TortoiseSVN中查看合并的历史记录.没有命令行!好极了!!!
但是,最后一个问题是我无法在Android Studio(Intellij IDEA)中查看合并历史记录,如查看合并源中所述.有谁知道如何在Android Studio中实现这一目标?
Phew,有一段时间没有使用SVN ...... :)
但是我记得Branch locations应该是包含分支文件夹的文件夹(而不是每个单独的分支文件夹).
您看,通常SVN repo遵循标准命名约定和文件夹结构:
trunk/
branches/
Feature_A2/
Feature_A3/
tags/
v1.01/
v1.02/
and so on...
Run Code Online (Sandbox Code Playgroud)
trunk是主要发展的地方,branches是特征,长期或风险项目,或不同阶段(如质量保证和预产品).
所以,据我记得,Android Studio希望你设置Branch locations为branches文件夹.在你的情况下,我认为它应该是http://192.168.0.64/svn/.../Android/Feature.
此外,你trunk不是Feature_A2- Feature_A2只是另一个分支.
虽然我看不到内容,但我认为http://192.168.0.64/svn/.../Android/Development可能是你的主干.
这不应该打扰你,因为你不必合并到你的主干,你也可以在分支之间合并(例如将Feature_A3合并到Feature_A2).
所以,回顾一下:
Branch locations为http://192.168.0.64/svn/.../Android/FeatureTrunk以http://192.168.0.64/svn/.../Android/Development(只有当它确实包含源码,类似Feature_A2/3)考虑在tags文件夹中"标记"您的版本(它几乎只是将trunk/branch文件夹复制到标记,但您有一个命令).
如果你这样做,你也可以添加tags文件夹Branch locations,这样你就可以将当前的源与任何以前的版本进行比较(这很方便).
PS:"unresolved conflicts" error也可能意味着你有未解决的冲突(duh :)).当您和队友改变文件中的相同行(或者如果他删除您更改的文件)并且您更新以获得他的更改时,通常会创建冲突.
在手动解决这些冲突/更改之前,SVN不允许您合并.
您可以Version Control在底部的标签中找到冲突,它们将标记为红色.
(但我认为这不是你的问题)
如果这对您有用,请告诉我!