Search code examples
androidgitrepoandroid-kernel

How to add multiple kernel versions to local repo manifest


I followed this link to create a local manifest to download a particular version of android kernel as follows:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="aosp"
           fetch=".."
           review="https://android-review.googlesource.com/" />
  <default revision="master"
           remote="aosp"
           sync-j="4" />

   <project path="kernel/common" name="kernel/common" revision="android-4.4"/>
</manifest>

And synced using repo sync kernel/common

How should I proceed for syncing multiple kernel versions.


Solution

  • According to repo document.

    When you run repo sync, this is what happens:
    If the project has never been synchronized, then repo sync is 
    equivalent to git clone. All branches in the remote repository
    are copied to the local project directory.If the project has 
    already been synchronized once, then repo sync is equivalent to:
       git remote update
       git rebase origin/<BRANCH>
    

    If you run repo sync, only a revision specified in your manifest will be checkout, but you can enter kernel/common folder to run git command such as git pull or git checkout to get version you want.

    if you only want to use repo command, you can checkout kernel with different folder, i.e specify multi project with different revision in manifest as following.

    <project path="kernel/common4.2" name="kernel/common" revision="android-4.2"/>  
    <project path="kernel/common4.3" name="kernel/common" revision="android-4.3"/>
    <project path="kernel/common4.4" name="kernel/common" revision="android-4.4"/>