我正在使用Mercurial(使用TortoiseHG)来管理我的Android项目,并且由于应用程序获得了具有不同包名称的并行品牌版本,最近不得不进行分支。
我做了一些研究并成功地分离了所有内容,但现在几天之后我开始发现很难保持两个分支。 true
中的任何更改都需要手动转换为false
。
更糟糕的是,我完全有理由怀疑会有更多分支,这需要我在许多分支之间引入任何更改和错误修正。
Mercurial和/或Tortoisehg是否对这种情况提供任何支持?简单的合并不起作用,因为不同的软件包名称(VCS将所有内容视为单独的文件并放置两个版本的应用程序在一个文件夹中。)
理想的解决方案是一个工具,它允许我只同步所选文件的选定部分,而不考虑导入,包等,只是纯文本替换。
答案 0 :(得分:0)
<强>附加强>
我会要求显示(至少部分)internal:*
分支(或者只是工作目录的ls)(仅仅因为我对包,它的结构和Android开发的共同点一无所知),但是,AFAICR,如果您在初始分支中有hg manifest
,在第二个分支中将其重命名为/firstbranch
,Mercurial将在分支合并中兑现此更改。另一个想法是尽可能地从版本控制中消除父树,并将创建适当的包树的任务移动到构建工具中
不,我有添加|更改|删除对象(客户的品牌)的“琐碎”任务,但是,从我的POV,“所有导入,包关系等”在技术上只是代码中的更改(可能 - 树),哪些补丁可以容纳
自定义合并工具必须是大多数简单的手工制作脚本,其中包含最少的逻辑。尝试阅读Wiki:Merge Tool Configuration(第2部分)和Merge Tools作为起点,this excellent example of creating own merge-tool用于合并.hgtags