2016-08-02 19 views
0

Ich folgte diesen link hinzufügen, um ein lokales Manifest erstellen eine bestimmte Version von Android-Kernel zum Download wie folge: repo sync kernel/commonWie mehrere Kernel-Versionen lokalen Repo-Manifest

Wie sollte mit

<?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> 

Und synchronisiert Ich fahre fort, um mehrere Kernel-Versionen zu synchronisieren.

+0

'repo sync kernel/common' ruft standardmäßig alle Revisionen ab. 'git checkout ' kann Versionen wechseln. – ElpieKay

+0

Nach dem Wechsel der Version und der Übernahme der Änderungen sagt 'repo upload'' 'no branches ready for upload' – skylinedreamer

+0

' repo upload' benötigt etwas zusätzliche Arbeit wie die Einstellung von Upstreams. Daher verwenden wir normalerweise git-Befehle, wie 'git push origin head: ' für einen Repo oder 'repo forall -c 'git push Ursprung HEAD: '' für mehrere Repos. – ElpieKay

Antwort

1

Nach 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> 

Wenn Sie repo sync laufen, nur eine Änderung in Ihrem Manifest angegeben wird Kasse sein, aber Sie können kernel/common Ordner ausführen git Befehl wie git pull oder git checkout zu bekommen Version Sie möchten eingeben.

Wenn Sie nur den Repo-Befehl verwenden möchten, können Sie den Kernel mit einem anderen Ordner prüfen, d. H. Spezifizieren Sie ein Multiprojekt mit einer anderen Revision im Manifest wie folgt.

<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"/> 
+0

Ist es auch möglich, das Standardmanifest zu deaktivieren, ohne die Datei zu löschen? Andernfalls lädt ein Aufruf der Reposynchronisierung den gesamten Quellbaum vom Standardmanifest herunter. – skylinedreamer

+0

@skylinedreamer .repo/manifest.xml ist nur ein Symbollink, Sie können es ändern, um es mit einer anderen Manifestdatei zu verknüpfen. Oder verwenden Sie das lokale Manifest, um das Original zu ändern. – gzh