V8 ソースコードのチェックアウト
このドキュメントでは、V8 ソースコードをローカルにチェックアウトする方法について説明します。ソースコードをオンラインで閲覧するだけであれば、以下のリンクを使用してください。
Git の使用 #
V8 の Git リポジトリは https://chromium.googlesource.com/v8/v8.git にあり、GitHub に公式ミラーがあります: https://github.com/v8/v8。
これらの URL を単純に git clone
しないでください!チェックアウトしたソースから V8 をビルドしたい場合は、以下の手順に従ってすべてを正しく設定してください。
手順 #
Linux または macOS では、まず Git をインストールし、次に
depot_tools
をインストールします。Windows では、Chromium の手順(Google 社員向け、Google 社員以外向け)に従って、Visual Studio、Debugging Tools for Windows、および
depot_tools
(Windows 版には Git が含まれています)をインストールします。ターミナル/シェルで以下のコマンドを実行して、
depot_tools
を更新します。Windows では、PowerShell などではなく、コマンドプロンプト(cmd.exe
)で実行する必要があります。gclient
プッシュアクセスを行うには、Git パスワードを設定した
.netrc
ファイルが必要です。- https://chromium.googlesource.com/new-password にアクセスし、コミッターアカウント(通常は
@chromium.org
アカウント)でログインします。注: 新しいパスワードを作成しても、以前に作成されたパスワードが自動的に無効になるわけではありません。git config user.email
に設定されているものと同じメールアドレスを使用してください。 - シェルコマンドを含む大きな灰色のボックスを確認してください。これらの行をシェルに貼り付けます。
- https://chromium.googlesource.com/new-password にアクセスし、コミッターアカウント(通常は
次に、すべてのブランチと依存関係を含む V8 ソースコードを取得します。
mkdir ~/v8
cd ~/v8
fetch v8
cd v8
この後、意図的に detached HEAD 状態になります。
必要に応じて、新しいブランチの追跡方法を指定できます。
git config branch.autosetupmerge always
git config branch.autosetuprebase always
または、次のように新しいローカルブランチを作成することもできます(推奨)。
git new-branch fix-bug-1234
最新の状態に保つ #
git pull
を使用して、現在のブランチを更新します。ブランチ上にいない場合、git pull
は機能せず、代わりに git fetch
を使用する必要があることに注意してください。
git pull
V8 の依存関係が更新される場合があります。以下のコマンドを実行することで、それらを同期できます。
gclient sync
レビューのためにコードを送信する #
git cl upload
コミット #
コミットには、コードレビューの CQ チェックボックスを使用できます(推奨)。CQ フラグとトラブルシューティングについては、Chromium の手順も参照してください。
デフォルトよりも多くの trybot が必要な場合は、Gerrit のコミットメッセージに以下を追加します(例:nosnap bot を追加する場合)。
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
手動で反映するには、ブランチを更新します。
git pull --rebase origin
次に、以下のコマンドを使用してコミットします。
git cl land
ジョブを試す #
このセクションは、V8 プロジェクトメンバーにのみ役立ちます。
コードレビューからジョブを試す #
CL を Gerrit にアップロードします。
git cl upload
次のように try bot にジョブを送信して、CL を試します。
git cl try
try bot のビルドが完了するまで待ち、結果のメールを受け取ります。Gerrit のパッチで try の状態を確認することもできます。
パッチの適用に失敗した場合は、パッチをリベースするか、同期する V8 リビジョンを指定する必要があります。
git cl try --revision=1234
ローカルブランチからジョブを試す #
ローカルリポジトリの git ブランチにいくつかの変更をコミットします。
次のように try bot にジョブを送信して、変更を試します。
git cl try
try bot のビルドが完了するまで待ち、結果のメールを受け取ります。注: 現在、一部のレプリカに問題があります。コードレビューからジョブを送信することをお勧めします。
役立つ引数 #
revision 引数は、ローカルの変更を適用するために使用されるコードベースのリビジョンを try bot に指示します。revision がない場合、V8 の LKGR リビジョンがベースとして使用されます。
git cl try --revision=1234
すべての bot でジョブを実行しないようにするには、--bot
フラグとコンマ区切りのビルダー名リストを使用します。例:
git cl try --bot=v8_mac_rel
try サーバーの表示 #
git cl try-results
ソースコードブランチ #
V8 にはいくつかの異なるブランチがあります。どのバージョンを取得すればよいかわからない場合は、最新の安定バージョンを取得するのが最適です。使用されているさまざまなブランチの詳細については、リリースプロセスをご覧ください。
Chrome が安定(またはベータ)チャネルで出荷している V8 バージョンに従うことができます。 https://omahaproxy.appspot.com/ を参照してください。