Blink post-merge FAQ
Blink git SHA: 37d233bde3baaea720a9a81296fa77b63c9d8981
Blink revision: 202666
Blink git SHA: n/a
Blink revision: n/a
Chromium git SHA: b59b6df51a249895fbba24f92b661f744e031546
Chromium revision: 350324
git remote update (or git fetch)
## `For each branch` ## ```none git rebase $(git merge-base branch_name origin/master) branch_name --onto origin/master
When running gclient sync after the merge point, the previous .git directory (containing all the local branches) for blink will be saved in //src/../old_src_third_party_WebKit.git
For each local branch, run the following steps:
Create a patch file
git diff origin/master...branch_name > /tmp/old-blink.patch
And then in the new checkout, after the branch point
Recreate the branch
git new-branch old-blink
Apply the patch
git apply -3 --directory third_party/WebKit/ /tmp/old-blink.patch
If you have the patch locally as a git branch, migrating that would be easier. Otherwise, follow these steps:
Download the raw patch from codereview.chomium.org/123456
Create a new local git branch in a post-merge checkout
git new-branch issue123456
Apply the patch
git apply -3 --directory third_party/WebKit/ issue123456_1001.diff
Add new files and commit changes
Upload to a new CL
If you use
git log or similar over the merge commit, use
walk up only in the chromium history.
The active releases branches will be merged (i.e. won't have a third_party/WebKit subproject) as well.
For CL that get landed after the merge day, it won't be any different than cherry-picking a chromium CL. Just follow the git-drover man page.
To cherry-pick a blink CL that was landed before the merge day:
Find the corresponding commit that you want to cherry-pick in the chromium master and note its SHA1 (note: it will have a different SHA1 than what reported in the codereview.chromium.org/NNNN) e.g., if you want to cherry-pick https://codereview.chromium.org/1340403003
git log origin/master --grep codereview.chromium.org/1340403003 -- third_party/WebKit commit c614d6deae3c6e4cc0bfbb60bb15a17305b418b7 Author: ....
Follow the git-drover documentation using SHA1 above when doing git cherry-pick -x
fetch chromium instead.
See this document for instructions.
Bisect scripts (src/tools/bisect-builds.py) and bots should Just Work TM. File a bug if that is not the case.
Doing a git bisect on a revision range that includes the merge point requires a little trick. (See [chromium-dev] Merge of Chromium and Blink repositories - git bisect is broken? for context and details)
The trick consists in convincing git that the merge commit (b59b6df51) did NOT pull in the blink history (70aa692d6) using grafts
git replace --graft b59b6df51 70aa692d6 # Do the git bisect as usual git bisect start GOOD_SHA1 BAD_SHA1 # Remove the grafts at the end $ git replace -d b59b6df51