My favorites | Sign in
Project Home Downloads Wiki Issues
Search
for
UsingWebKitGit  
Using WebKit from Git with Chrome
Updated May 24 (2 days ago) by j...@chromium.org

If you know how to use Git

If you git clone git.webkit.org into third_party/WebKit, you can use Git within your Chrome tree to work on WebKit. You just need to change one thing, described below:

Setup

http://trac.webkit.org/wiki/UsingGitWithWebKit describes git checkout steps for WebKit.

  1. rm -rf third_party/WebKit
  2. git clone git://git.webkit.org/WebKit.git third_party/WebKit
  3. edit your .gclient "custom_deps" section to exclude components underneath third_party/WebKit. See the "contributing to WebKit" page for the list, but with the first line instead like

          "src/third_party/WebKit": None,
          ... lines from above link ...

    Note: If using the new git workflow (http://code.google.com/p/chromium/wiki/UsingNewGit), no other lines will be needed.

  4. see update steps below.

Updating

  • tools/sync-webkit-git.py
  • gclient sync

These commands only update the gclient branch of your git clone in third_party/WebKit. To ensure that your build is consistent between chromium and WebKit source and to ensure that you don't commit to the gclient branch, you can either update your current branch:

  • cd third_party/WebKit
  • git rebase gclient
  • cd -
OR create a new copy of the gclient branch:
  • cd third_party/WebKit
  • git checkout gclient
  • git checkout -b base (or any branch name you like)
  • cd -
Now when you build you will use the same code as the "gclient" branch and you can commit patches to your current branch. These commits will need to be merged/rebased and tested on master before committing to WebKit.

Sharing a top-level WebKit checkout in a Chromium checkout

Grab git-new-workdir at http://repo.or.cz/w/git.git/blob/HEAD:/contrib/workdir/git-new-workdir.

cd path/to/chromium/src/third_party
git-new-workdir path/to/WebKit/git/checkout WebKit

The advantage of this is that you can avoid needing to maintain two separate WebKit checkouts.


FAQ

Q. Why doesn't gclient sync work without any fiddling?

A. Our DEPS specifies to only pull some subdirectories of third_party/WebKit. Git works with full trees, so we just pull the whole WebKit tree and tell gclient to leave the whole tree alone.http://code.google.com/p/chromium/wiki/UsingNewGit

Q. How are branches the WebKit tree related to the Chromium build?

A. The tools/sync-webkit-git.py script updates third_party/WebKit on the branch "gclient". Don't commit to the "gclient" branch, it might confuse the update script. The chromium make files build from what ever is on your filesystem, ie the build will reflect the current branch at build time.

Comment by techbo...@bear123computer.net, Apr 26, 2011

Are you planning to build your own layout out engine?


Sign in to add a comment
Powered by Google Project Hosting