2010-12-19 5 views
6

Ich brauche nur Code der angegebenen Version von Chromium wie r69297, die neueste Version von Chrome. ich benutze git, also folge ich der Anweisung hier: http://code.google.com/p/chromium/wiki/UsingGit jedoch, nachdem ich den gesamten Code synchronisieren, und überprüfen Sie das Commit-Protokoll, ich kann diese Revision nicht finden! dann dachte ich über Tag nach und suchte hier. How to use git to checkout a specified version of Webkit? Hier fand ich, aber nachdem alle Schritte folgen, und warten Sie ziemlich lange, ich bekomme immer noch nichts. behält das Git-Repository von Chrom die Tag-Information? Wie kann ich sie bekommen? thxWie bekomme ich den Code der angegebenen Tag-Version von Chromium von git?

+0

Was meinst du, "ich bekomme immer noch nichts"? Können Sie das Ergebnis der Ausführung dieser Befehle anzeigen? –

+0

@Jean Hominal: nichts ausgegeben. im git tree gibt es keine revision 69297, nur r69298. – ayanamist

+0

versuchen, gitk zu verwenden, um die Geschichte eines Git-Repository zu sehen - Sie können eine genaue Commit durch seine Hash-Nummer –

Antwort

12

Wenn die Frage gestellt wurde, verwendet Chromium SVN. Heutzutage ist git das primäre VC-System, daher werde ich anstelle von r #### Revisionen git tags/hashes verwenden.

In dieser Antwort gehe ich davon aus, dass Sie bereits die Voraussetzungen für den Aufbau von Chromium (einschließlich eines anfänglichen Checkouts) eingerichtet haben. Wenn Sie diesen nicht haben, folgen Sie dem Tutorial unter http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html, bevor Sie fortfahren. Sie können den Schritt gclient sync überspringen, da Sie die Abhängigkeiten in den folgenden Schritten sowieso ersetzen werden.

Szenario: Ich möchte einen Patch auf die neueste stabile Chromium-Version anwenden. Um den neuesten stabilen Build zu finden, besuchen Sie einfach https://omahaproxy.appspot.com/. Laut dieser Seite ist die neueste Version 38.0.2125.104. Wenn Sie vorherige/nächste Versionen anzeigen möchten, besuchen Sie http://blink.lc/chromium/refs/ für eine Übersicht der Tags. Diese Liste von Tags enthält nicht freigegebene Versionen, z. 38.0.2125.106 (die letzte Build-Nummer wird größer, wenn neue Patches auf die Baseline angewendet werden, die durch die dritte Nummer identifiziert wird).

# Inside chromium/src/ 
git fetch origin 38.0.2125.106 

# Create a new branch "my_stable_branch" that is based on the just-fetched HEAD. 
git checkout -b my_stable_branch FETCH_HEAD 

# ... apply the patch ... 
# (e.g. by editing the files) 
# (e.g. by using git cherry-pick [commit id]) 
# (e.g. by using git checkout [commit id] [file path]) 

# Commit changes (assuming that you want to keep track of your changes) 
git commit -va 

# Now synchronize the dependencies to the current branch 
gclient sync --with_branch_heads # --jobs 16 if you wish to use parallelism 

# Now compile the release build. The output will be stored in src/out/Release. 
ninja -C out/Release chrome chrome_sandbox 
1

Branchen

Wenn Sie nicht eine bestimmte begehen finden, würde ich überprüfen, ob es in einem Zweig andere als „Master“ ist. Wenn Sie ein Repository zuerst klonen, erhalten Sie nur den Zweig "Master". Sie können Folgendes zur Kasse eine Niederlassung auf dem Remote-Chromium Repository laufen:

git branch new-local-branch origin/some-remote-branch 
git checkout new-local-branch 

Offensichtlich die richtigen Namen für den Remote-Zweig verwenden und Ihre lokale Niederlassung etwas logisch nennen.

Stichworte

Wenn Sie ein Git-Repo-Klon, sollten Sie alle seine Tags standardmäßig erhalten. Sie können eine Liste aller definierten Tags abrufen, indem Sie oder git tag -l ausführen.

Wenn Sie keine Tags sehen, die versuchen, sie explizit zu holen:

git fetch --tags

Wenn Sie den Tag Sie haben, überprüfen Sie es, dass die Version der Codebasis verwenden zu beginnen:

git checkout <name of tag>

Verwandte Themen