repo コマンドを使うと、複数の git リポジトリーを一括管理できる。
repo の使い方は、まず最初に manifest ファイル (複数 git リポジトリーの URL が書いてあるファイル) を初期化設定して、次に一括ダウンロード・同期コマンド sync を実行するんだった。例えば、Android のリポジトリー一式を取って来る場合は、次のやうにする。
$ repo init -u git://android.git.kernel.org/platform/manifest.git $ repo sync
さてこの時、manifest ファイルに書かれていないリポジトリーは (当然) 取得されない。
実は、Android のデフォールト manifest は、gitweb で見えるうちのリポジトリーのうちかなりの数が manifest に含まれていない。大きな所では、最近、Kernel Project が manifest ファイルから削られた。
local_manifest
local_manifest.xml というファイルを .repo 以下に書くと、manifest.xml に自分用の管理リポジトリーを追加できる。書式は manifest.xml と同じ。manifest.xml の書き方は過去記事を参照してもらうことにして:
さっき話題に上がった、kernel リポジトリーを local_manifest を使って取って来るやうにしてみやう。
.repo/local_manifest.xml を次のやうに書く:
<manifest> <project path="kernel" name="kernel/common"/> </manifest>
manifest.xml の続きとして書くのがポイント。manifest.xml で設定した remote や default が引き継がれている。manifest.xml の remote や default の設定をコピーしてしまうと、エラーが起きてしまうので注意。
あとがき
local_manifest が使えると、サービス提供側が押し付けたリポジトリー以外のリポジトリーも取得できるやうになる。本家の manifest が変わっても影響を受けにくいという点で、manifest ファイルを自作するより効率的。repo を使う人は、覚えておいて損がない。
No comments:
Post a Comment