how to get code of specified tag version of Chromium from git?
i just need code of specified version of Chromium like r69297 which is the latest dev version of Chrome.
i use git so i follow the instruction here:
however, after i sync all the code, and review the commit log, i can’t find this revision!
then i thought about tag, and searched here.
How to use git to checkout a specified version of Webkit?
here i found, but after follow all the steps, and wait for quite a long long time, i still get nothing.
does the git repository of chromium keep the tag information? how can i get them?
2 Solutions collect form web for “how to get code of specified tag version of Chromium from git?”
When the question was asked, Chromium used SVN. Nowadays, git is the primary VC system, so I will use git tags/hashes instead of r#### revisions.
In this answer, I assume that you have already set up the pre-requisites for building Chromium (including an initial checkout). If you don’t have that one, follow the tutorial at http://commondatastorage.googleapis.com/chrome-infra-docs/flat/depot_tools/docs/html/depot_tools_tutorial.html before continuing. You can skip the
gclient sync step because you’ll replace the dependencies anyway in the steps below.
Scenario: I want to apply a patch on top of the latest stable Chromium version. To find out the latest stable build, just visit https://omahaproxy.appspot.com/. According to that page, the latest version is 38.0.2125.104. If you want to see previous/next releases, visit http://blink.lc/chromium/refs/ for an overview of tags. This list of tags includes unreleased versions, e.g. 38.0.2125.106 (the last build number increases when new patches are applied on top of the baseline that is identifier by the third number).
# 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
If you can’t find a particular commit, I’d check if it’s in a branch other than “master”. When you first clone a repository, you only get the “master” branch. You can run the following to checkout a branch available on the remote Chromium repository:
git branch new-local-branch origin/some-remote-branch git checkout new-local-branch
Obviously use the correct name for the remote branch and name your local branch something logical.
When you clone a Git repo, you should get all of its tags by default. You can get a list of all defined tags by running
git tag or
git tag -l.
If you don’t see any tags, try fetching them explicitly:
git fetch --tags
Once you have the tag you want, check it out to start using that version of the code base:
git checkout <name of tag>