2017-09-21 17 views
0

mydevice/$AOSP_ROOT/device/の下に作成しました。私はにローカルトラッキング目的のためにgitを追加しようとしていますが、repo statusまたはrepo diffを実行したときに変更が見える場合は非常に便利です。これらは私が試した手順は次のとおりです。AOSPリポジトリに新しいgitを追加する

  1. は、私は私のプロジェクトが出力に反映されていないrepo status行う際に、$AOSP_ROOT/.repo/manifest.xml残念ながら

にプロジェクトを追加

  • コミットされていない変更を残して、mydeviceフォルダでgit initを行います。私は何を間違えたのですか?

  • 答えて

    1

    たとえば、$HOME/home/consy/で、$AOSP_ROOT/home/consy/aosp/です。あなたがrepo syncを実行したときに

    #init a local bare repo as the remote repo of `mydevice` 
    cd $AOSP_ROOT/device/ 
    git init mydevice 
    git commit --allow-empty -m 'init repository' 
    cd $HOME 
    git clone $AOSP_ROOT/device --bare -- mydevice.git 
    cd $AOSP_ROOT/device 
    rm -rf mydevice 
    
    #create .repo/local_manifests (this is a feature of repo) 
    mkdir -p $AOSP_ROOT/.repo/local_manifests 
    
    #create a manifest under `local_manifests`. 
    #You can name it whatever you like except that the manifest's content should be like: 
    <?xml version="1.0" encoding="UTF-8"?> 
    <manifest> 
        <remote fetch="file:///home/consy/" name="this"/> 
        <default remote="this" revision="master"/> 
        <project name="mydevice" path="device/mydevice"/> 
    </manifest> 
    

    は今、ローカルマニフェストで定義されたプロジェクト(複数可)$AOSP_ROOTなどの追加プロジェクトに追加されます。これらの余分なプロジェクトを操作するには、repo statusのようなrepoコマンドを使用できます。リポジトリは/home/consy/mydevice.gitからクローンされ、$AOSP_ROOT/device/mydeviceにチェックアウトされます。 $AOSP_ROOT/device/mydeviceの下に新しいコミットを作成した後、git push this <ref>:<ref>を実行して、コミットを/home/consy/mydevice.gitにアップロードできます。後で、この新しいリポジトリをGithubや自分のGerritのような実際のホストに公開する準備が整ったら、GithubやGerritに新しいリモートポインティングを追加して、それを押し通すことができます。その後、repo initのときに使用するメインマニフェストにプロジェクト定義<project name="mydevice" path="device/mydevice"/>を追加し、変更をコミットしてリモートマニフェストリポジトリにプッシュします。その後、プロジェクト重複エラーを避けるために、$AOSP_ROOT/.repo/local_manifestsのローカルマニフェストを削除することができます。

    ローカルマニフェスト機能については、 Local Manifestshttps://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.txt)を参照してください。

    関連する問題