Überprüfung des V8-Quellcodes
Dieses Dokument erklärt, wie man den V8-Quellcode lokal überprüft. Wenn Sie den Quellcode nur online durchsuchen möchten, verwenden Sie diese Links:
Verwendung von Git
Das Git-Repository von V8 befindet sich unter https://chromium.googlesource.com/v8/v8.git mit einem offiziellen Spiegel auf GitHub: https://github.com/v8/v8.
Klonen Sie keine dieser URLs einfach mit git clone
! Wenn Sie V8 aus Ihrem Checkout erstellen möchten, folgen Sie stattdessen den nachstehenden Anweisungen, um alles korrekt einzurichten.
Anweisungen
-
Installieren Sie unter Linux oder macOS zuerst Git und anschließend
depot_tools
.Unter Windows folgen Sie den Chromium-Anweisungen (für Googler, für Nicht-Googler), um Git, Visual Studio, Debugging-Tools für Windows und
depot_tools
zu installieren. -
Aktualisieren Sie
depot_tools
, indem Sie Folgendes in Ihr Terminal/Shell ausführen. Unter Windows muss dies in der Eingabeaufforderung (cmd.exe
) erfolgen, statt in PowerShell oder anderen.gclient
-
Für Push-Zugriff müssen Sie eine
.netrc
-Datei mit Ihrem Git-Passwort einrichten:- Gehen Sie zu https://chromium.googlesource.com/new-password und melden Sie sich mit Ihrem Committer-Konto an (in der Regel ein
@chromium.org
Konto). Hinweis: Das Erstellen eines neuen Passworts widerruft nicht automatisch zuvor erstellte Passwörter. Bitte stellen Sie sicher, dass Sie dieselbe E-Mail verwenden, wie fürgit config user.email
festgelegt. - Sehen Sie sich die große graue Box mit Shell-Befehlen an. Kopieren Sie diese Zeilen in Ihre Shell.
- Gehen Sie zu https://chromium.googlesource.com/new-password und melden Sie sich mit Ihrem Committer-Konto an (in der Regel ein
-
Holen Sie sich nun den V8-Quellcode, einschließlich aller Branches und Abhängigkeiten:
mkdir ~/v8
cd ~/v8
fetch v8
cd v8
Danach befinden Sie sich absichtlich in einem Detached-Head-Zustand.
Optional können Sie angeben, wie neue Branches verfolgt werden sollen:
git config branch.autosetupmerge always
git config branch.autosetuprebase always
Alternativ können Sie neue lokale Branches wie folgt erstellen (empfohlen):
git new-branch fix-bug-1234
Auf dem neuesten Stand bleiben
Aktualisieren Sie Ihren aktuellen Branch mit git pull
. Beachten Sie, dass git pull
nicht funktioniert, wenn Sie sich nicht in einem Branch befinden. Sie müssen stattdessen git fetch
verwenden.
git pull
Manchmal werden Abhängigkeiten von V8 aktualisiert. Sie können diese synchronisieren, indem Sie folgendes ausführen:
gclient sync
Code zur Überprüfung einsenden
git cl upload
Committen
Sie können das CQ-Kontrollkästchen im Codereview für das Committen verwenden (bevorzugt). Siehe auch die Chromium-Anweisungen für CQ-Flags und Fehlerbehebung.
Wenn Sie mehr Trybots als die Standard-Trybots benötigen, fügen Sie die folgenden Informationen Ihrer Commit-Nachricht auf Gerrit hinzu (z. B. für den Hinzufügen eines Nosnap-Bots):
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel
Um manuell zu landen, aktualisieren Sie Ihren Branch:
git pull --rebase origin
Dann committen mit
git cl land
Try-Jobs
Dieser Abschnitt ist nur für Mitglieder des V8-Projekts hilfreich.
Einen Try-Job aus Codereview erstellen
-
Laden Sie einen CL auf Gerrit hoch.
git cl upload
-
Testen Sie den CL, indem Sie einen Try-Job an die Trybots senden:
git cl try
-
Warten Sie, bis die Trybots gebaut sind und Sie eine E-Mail mit dem Ergebnis erhalten. Sie können auch den Try-Status Ihres Patches auf Gerrit überprüfen.
-
Wenn das Anwenden des Patches fehlschlägt, müssen Sie entweder Ihren Patch neu basieren oder die V8-Revision angeben, mit der synchronisiert werden soll:
git cl try --revision=1234
Einen Try-Job aus einem lokalen Branch erstellen
-
Committen Sie einige Änderungen in einem Git-Branch im lokalen Repository.
-
Testen Sie die Änderungen, indem Sie einen Try-Job an die Trybots senden:
git cl try
-
Warten Sie, bis die Trybots gebaut sind und Sie eine E-Mail mit dem Ergebnis erhalten. Hinweis: Es gibt derzeit Probleme mit einigen der Replikate. Es wird empfohlen, Try-Jobs aus Codereview zu senden.
Nützliche Argumente
Das Revision-Argument gibt dem Trybot an, welche Revision der Codebasis für die Anwendung Ihrer lokalen Änderungen verwendet wird. Ohne die Revision wird V8’s LKGR-Revision als Basis verwendet.
git cl try --revision=1234
Um zu vermeiden, dass Ihr Try-Job auf allen Bots läuft, verwenden Sie das --bot
-Flag mit einer durch Komma getrennten Liste von Builder-Namen. Beispiel:
git cl try --bot=v8_mac_rel
Den Try-Server ansehen
git cl try-results
Quellcode-Branches
Es gibt mehrere verschiedene Zweige von V8; wenn Sie sich nicht sicher sind, welche Version Sie verwenden sollen, möchten Sie höchstwahrscheinlich die aktuelle stabile Version. Weitere Informationen über die verschiedenen verwendeten Zweige finden Sie in unserem Freigabeprozess.
Sie möchten möglicherweise der V8-Version folgen, die Chrome in seinen stabilen (oder Beta-) Kanälen ausliefert, siehe https://omahaproxy.appspot.com/.