需要帮助才能找到回购策略(工具)

时间:2013-04-13 09:39:58

标签: android git branch repository

我正在制作一个多媒体机顶盒的froyo图像。原始图像带有一个自定义的mplayer,它具有对SoC的硬件支持。完全绕过Android多媒体框架(音频/视频),并使用此mplayer完成所有播放。更糟糕的是,mplayer是用OSS而不是ALSA编译的。我的中期目标是,在Android平台上集成alsa和dmix支持,并使用alsa支持编译mplayer,这样android和mplayer都可以同时播放。

与此同时,我希望在原始图像上更改较小的内容(主要是UI,UX)。所以我想有两个分支。一个用于原始和稍微改进的图像,一个用于更大的alsa更改。 alsa分支将有一些其他git存储库而不是原始存储库,例如alsa的东西。此外,一些git项目可能需要为alsa实现拥有自己的分支(用于alsa输出的mplayer,用于共享内存的bionic等)。 因此,要在原始分支和alsa分支之间切换,我必须切换一些git存储库的分支,并且会有一些存储库,这些存储库是alsa分支专用的。

我能用回购来实现吗?这只是用repo启动alsa主题分支的问题吗?

请您描述一下,如何为此设置Android平台?任何提示都表示赞赏。

干杯, 亨利克

P.S。为这种情况定义两种不同的产品是否有意义?

P.P.S。我已经在android-porting google群组中提出了这个问题:https://groups.google.com/forum/?fromgroups=#!topic/android-porting/K0JmK9HFAVw

1 个答案:

答案 0 :(得分:1)

这听起来像是在同一产品上的功能实现,而不是不同的产品。

如果所有分支上都有必要的gits,您只需将受影响的gits指向ALSA功能的正确分支即可。这可以通过例如完成。通过在local_manifest.xml目录中添加.repo,它看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remove-project name="platform/blah"/>
<project path="blah"
    name="platform/blah"
    revision="alsa-feature-branch"/>
</manifest>

然后,您需要重新同步您的仓库并在需要进行更改的gits中启动主题分支。

一旦功能完成(甚至直接在主分支上进行功能开发),并且在产品makefile或system.prop文件中有一个标志,也有可能将更改合并回主分支决定是否使用该功能。