【发布时间】:2016-07-09 12:38:58
【问题描述】:
我们决定按照流程为我们添加到移动应用程序的每个新功能创建一个新的 SVN 分支。这背后的最终目标是保留每个代码更改的历史记录(当我们手动将项目文件夹复制到 SVN 而不是创建和合并分支时,不会发生这种情况)。
我的问题是到目前为止我无法将更改从一个分支合并到另一个分支。
我已经参考了以下帖子,但没有成功:
Android Studio Update Project: Merge vs Rebase vs Branch Default.
How do merge specific svn revisions from branch to trunk in Android Studio 2.0.
这是我目前尝试过的:
我有两个功能分支,如下图Tortoise SVN:
我想将分支 Feature_A3 中的更改合并到分支 Feature_A2 中。为此,我在 A2 工作副本的 Android Studio 的 VCS 中使用了 Merge from 选项:
然后它要求我从 (A3) 中选择要合并的分支或配置其他分支:
我点击Configure Branches,只是为了向你展示现有的分支配置:
如您所见,A2 是 Trunk,A3 是 Branch。 这是正确的吗?
然后它询问我要将 A3 的哪一部分合并到 A2 中。我选择/src 目录(存在相关更改):
然后它慷慨地给了我三种不同的方式来执行合并操作:
我选择第三个选项,因为它直接给了我需要合并的更改:
我点击 Merge Selected 和 BAM!!! 我每次都收到此错误:
没有关于“未解决的冲突”或“跳过的项目”是什么的线索。为什么会出现此错误,我应该如何将 A3 中的更改合并到 A2 中?有人可以帮忙吗?所有答案将不胜感激。谢谢...
我一直在关注下面的 Intellij IDEA 官方文档:
请注意:
目前我使用的是 Subversion,而不是 Git。
我的本地工作副本的目录结构不完全正确 与 SVN 存储库的相同。这可能是错误的原因吗?
答案...
感谢Peter Parker,尤其是Yoav Aharoni 的宝贵反馈。正如 Yoav 正确指出的那样,这确实是指定分支位置文件夹的方式。它必须是包含分支的文件夹,而不是分支文件夹本身:正如彼得正确所说,选中“包含合并的修订”会显示合并的历史记录。我现在可以从 IDE 本身进行合并,并在 TortoiseSVN 中查看合并的历史记录。 没有命令行! 耶!!!
但是,最后一个问题是我无法在 Android Studio (Intellij IDEA) 中查看合并的历史记录,如Viewing Merge Sources 中所述。有谁知道如何在 Android Studio 中实现这一点?
【问题讨论】:
-
您尝试过使用 cmd-line 还是 TortoiseSVN?错误消息可能更能说明问题,也许这个 IDE 缺少一些与 svn 相关的功能(这并不少见)。
-
是的,它似乎与 Tortoise SVN 一起工作,但是虽然合并了更改,但合并后来自源分支的历史并没有反映在目标分支中,这是开始的目标。 .. 如何合并更改并将源分支的历史记录反映在目标分支中?
-
您是否在 TSVN 对话框中选中了“包含合并的修订版”?
-
是的,让我试试...顺便说一句,您可以发布您的 cmets 作为答案...如果有效,我会将其标记为正确答案并将赏金奖励给您... :)
-
有多少人在提交?
标签: android svn android-studio intellij-idea branching-and-merging