メインコンテンツまでスキップ

V8ソースコードのチェックアウト

このドキュメントでは、V8ソースコードをローカルにチェックアウトする方法を説明します。オンラインでソースを閲覧したい場合は、以下のリンクを使用してください:

Gitの使用

V8のGitリポジトリは https://chromium.googlesource.com/v8/v8.git にあり、GitHubの公式ミラーは https://github.com/v8/v8 にあります。

これらのURLを直接git cloneしないでください!V8をチェックアウトしてビルドしたい場合は、以下の手順に従い、正しく設定を行ってください。

手順

  1. LinuxまたはmacOSでは、まずGitをインストールし、その後depot_toolsをインストールしてください。

    Windowsでは、Chromeの手順に従ってインストールしてください(Google社員向け非Google社員向け)。Git、Visual Studio、Windowsデバッグツール、およびdepot_toolsをインストールします。

  2. ターミナル/シェルで以下を実行し、depot_toolsを更新してください。Windowsでは、PowerShellや他のシェルではなく、コマンドプロンプト(cmd.exe)で行う必要があります。

    gclient
  3. プッシュアクセスが必要な場合は、Gitのパスワードで.netrcファイルを設定する必要があります:

    1. https://chromium.googlesource.com/new-password にアクセスし、コミッターアカウント(通常は@chromium.orgアカウント)でログインします。注:新しいパスワードの作成は、以前に作成されたパスワードを自動的に無効化しません。git config user.emailに設定されたメールと同じメールを使用してください。
    2. シェルコマンドを含む灰色の大きなボックスを確認し、その内容をシェルに貼り付けてください。
  4. V8ソースコードをすべてのブランチと依存関係を含めて取得します:

    mkdir ~/v8
    cd ~/v8
    fetch v8
    cd v8

その後、意図的にヘッドが分離された状態になります。

新しいブランチをどのようにトラッキングするかを指定することもできます:

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の指示も参照してください。

より多くのトライボットが必要な場合は、コミットメッセージに以下を追加します(例:nosnapボットを追加):

CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel

手動でランディングするには、ブランチを更新します:

git pull --rebase origin

その後、以下を使用してコミットします:

git cl land

トライジョブ

このセクションはV8プロジェクトメンバー向けです。

コードレビューからトライジョブを作成する

  1. CLをGerritにアップロードします。

    git cl upload
  2. トライボットにトライジョブを送信してCLを試します:

    git cl try
  3. トライボットがビルドを終了し、結果のメールが届くのを待ちます。Gerritでパッチのトライ状態を確認することもできます。

  4. パッチの適用に失敗した場合、パッチをリベースするか、同期するV8のリビジョンを指定する必要があります:

git cl try --revision=1234

ローカルブランチからトライジョブを作成する

  1. ローカルリポジトリのGitブランチにいくつかの変更をコミットします。

  2. トライボットにトライジョブを送信して変更を試します:

    git cl try
  3. トライボットがビルドを終了し、結果のメールが届くのを待ちます。注:現在、一部のレプリカに問題があります。コードレビューからトライジョブを送信することを推奨します。

有用な引数

リビジョン引数は、トライボットにローカル変更を適用するコードベースのリビジョンを指定します。リビジョンが指定されていない場合、V8のLKGRリビジョンが基準として使用されます。

git cl try --revision=1234

すべてのボットでトライジョブを実行しないようにするには、ビルダーネームをカンマ区切りで指定する--botフラグを使用します。例:

git cl try --bot=v8_mac_rel

トライサーバーの確認

git cl try-results

ソースコードブランチ

V8にはいくつかの異なるブランチがあります。どのバージョンを取得するべきか迷った場合は、最新の安定版を選択するのがおそらく適切です。異なるブランチについての詳細は、リリースプロセスをご覧ください。

Chromeが安定版(またはベータ版)チャンネルで提供しているV8のバージョンを追跡したい場合は、https://omahaproxy.appspot.com/ を参照してください。