草庐IT

Android Studio - 无法从 SVN 分支合并

coder 2023-06-09 原文

我们决定按照流程为我们添加到移动应用程序的每个新功能创建一个新的 SVN 分支。这背后的最终目标是保留每个代码更改的历史记录(当我们手动将项目文件夹复制到 SVN 中而不是创建和合并分支时,不会发生这种情况)。

我的问题是到目前为止我无法将更改从一个分支合并到另一个分支。

我已经引用了以下帖子,但没有成功:

这是我目前尝试过的:

我有两个功能分支,如下图 Tortoise SVN :

我想将分支 Feature_A3 中的更改合并到分支 Feature_A2 中。为此,我在 A2 工作副本的 Android Studio 的 VCS 中使用 Merge from 选项:

然后它要求我从 (A3) 中选择要合并的分支或配置其他分支:

我点击Configure Branches,只是为了向你展示现有的分支配置:

如您所见,A2 是 Trunk,A3 是 Branch这是正确的吗?

然后它询问我要将 A3 的哪一部分合并到 A2 中。我选择 /src 目录(存在相关更改):

然后它慷慨地给了我三种不同的方式来执行合并操作:

我选择第三个选项,因为它直接给了我需要合并的更改:

我点击 Merge SelectedBAM!!! 我每次都收到此错误:

没有关于“ Unresolved 冲突”或“跳过的项目”是什么的线索。为什么会出现此错误,我应该如何将 A3 中的更改合并到 A2 中?有人可以帮忙吗?所有答案将不胜感激。谢谢...

我一直在关注下面的 Intellij IDEA 官方文档:

请注意:

  • 目前我使用的是 Subversion,而不是 Git。

  • 我的本​​地工作副本的目录结构不完全正确 与 SVN 存储库的相同。这可能是错误的原因吗?

答案...

感谢 Peter Parker尤其是 Yoav Aharoni感谢他们的宝贵反馈。正如 Yoav 正确指出的那样,这确实是指定分支位置文件夹的方式。它必须是包含分支的文件夹,而不是分支文件夹本身:正如彼得正确所说,选中“包括合并的修订”会显示合并的历史记录。我现在可以从 IDE 本身进行合并,并在 TortoiseSVN 中查看合并的历史记录。 没有命令行! 耶!!!

但是,最后一个问题是我无法在 Android Studio (Intellij IDEA) 中查看合并的历史记录,如 Viewing Merge Sources 中所述。 .有谁知道如何在 Android Studio 中实现这一点?

最佳答案

呼,好久没用SVN了……:)

但据我所知,Branch locations 应该是包含您的分支文件夹(而不是每个单独的分支文件夹)的文件夹。

您会看到,通常 SVN 存储库遵循标准命名约定和文件夹结构:

trunk/
branches/
  Feature_A2/
  Feature_A3/
tags/
  v1.01/
  v1.02/

and so on...

trunk 是主要开发的地方,branches 用于功能、长期或有风险的项目,或用于不同阶段(如 QA 和 pre-产品)。

所以,据我所知,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)。

所以,回顾一下:

  1. 虽然不是强制性的,但我建议重命名您的文件夹以符合约定(您可以通过在 Tortoise SVN 中右键单击轻松完成,但只有在所有队友提交之后,否则合并对他们来说将是一个 hell )。
  2. 尝试将 Branch locations 设置为 http://192.168.0.64/svn/.../Android/Feature
  3. Trunkhttp://192.168.0.64/svn/.../Android/Development (仅当它确实包含源时,类似于 Feature_A2/3 )
  4. 考虑在 tags 文件夹中“标记”您的版本(这几乎只是将 trunk/branch 文件夹复制到标签,但您有一个命令)。

    如果这样做,您还可以将 tags 文件夹添加到 Branch locations,这样您就可以将当前的源代码与任何以前的版本(其中很方便)。

PS:“ Unresolved 冲突”错误也可能意味着您有 Unresolved 冲突(duh :))。当您和队友更改文件中的相同行(或者如果他删除了您更改的文件)并且您更新以获取他的更改时,通常会产生冲突。

在您手动解决这些冲突/更改之前,SVN 不会让您合并。

您可以在底部的版本控制选项卡中找到冲突,它们将被标记为红色。
(但我认为这不是你的问题)


让我知道这是否适合你!

关于Android Studio - 无法从 SVN 分支合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36157555/

有关Android Studio - 无法从 SVN 分支合并的更多相关文章

  1. ruby-on-rails - 由于 "wkhtmltopdf",PDFKIT 显然无法正常工作 - 2

    我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-

  2. ruby-on-rails - 无法使用 Rails 3.2 创建插件? - 2

    我对最新版本的Rails有疑问。我创建了一个新应用程序(railsnewMyProject),但我没有脚本/生成,只有脚本/rails,当我输入ruby./script/railsgeneratepluginmy_plugin"Couldnotfindgeneratorplugin.".你知道如何生成插件模板吗?没有这个命令可以创建插件吗?PS:我正在使用Rails3.2.1和ruby​​1.8.7[universal-darwin11.0] 最佳答案 随着Rails3.2.0的发布,插件生成器已经被移除。查看变更日志here.现在

  3. ruby - 无法运行 Rails 2.x 应用程序 - 2

    我尝试运行2.x应用程序。我使用rvm并为此应用程序设置其他版本的ruby​​:$rvmuseree-1.8.7-head我尝试运行服务器,然后出现很多错误:$script/serverNOTE:Gem.source_indexisdeprecated,useSpecification.Itwillberemovedonorafter2011-11-01.Gem.source_indexcalledfrom/Users/serg/rails_projects_terminal/work_proj/spohelp/config/../vendor/rails/railties/lib/r

  4. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  5. ruby - 无法让 RSpec 工作—— 'require' : cannot load such file - 2

    我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳

  6. ruby - 如果指定键的值在数组中相同,如何合并哈希 - 2

    我有一个这样的哈希数组:[{:foo=>2,:date=>Sat,01Sep2014},{:foo2=>2,:date=>Sat,02Sep2014},{:foo3=>3,:date=>Sat,01Sep2014},{:foo4=>4,:date=>Sat,03Sep2014},{:foo5=>5,:date=>Sat,02Sep2014}]如果:date相同,我想合并哈希值。我对上面数组的期望是:[{:foo=>2,:foo3=>3,:date=>Sat,01Sep2014},{:foo2=>2,:foo5=>5:date=>Sat,02Sep2014},{:foo4=>4,:dat

  7. ruby - 无法覆盖 irb 中的 to_s - 2

    我在pry中定义了一个函数:to_s,但我无法调用它。这个方法去哪里了,怎么调用?pry(main)>defto_spry(main)*'hello'pry(main)*endpry(main)>to_s=>"main"我的ruby版本是2.1.2看了一些答案和搜索后,我认为我得到了正确的答案:这个方法用在什么地方?在irb或pry中定义方法时,会转到Object.instance_methods[1]pry(main)>defto_s[1]pry(main)*'hello'[1]pry(main)*end=>:to_s[2]pry(main)>defhello[2]pry(main)

  8. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  9. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

  10. ruby-on-rails - 无法让 rspec、spork 和调试器正常运行 - 2

    GivenIamadumbprogrammerandIamusingrspecandIamusingsporkandIwanttodebug...mmm...let'ssaaay,aspecforPhone.那么,我应该把“require'ruby-debug'”行放在哪里,以便在phone_spec.rb的特定点停止处理?(我所要求的只是一个大而粗的箭头,即使是一个有挑战性的程序员也能看到:-3)我已经尝试了很多位置,除非我没有正确测试它们,否则会发生一些奇怪的事情:在spec_helper.rb中的以下位置:require'rubygems'require'spork'

随机推荐