Only once to update the remote

git remote update (or git fetch)

For each branch

How to migrate local /src/third_party/WebKit branches

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

How to migrate blink patches from Rietveld

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

How can I avoid getting the entire Blink history when going over the merge commit

If you use git log or similar over the merge commit, use --first-parent to walk up only in the chromium history.

Cherry-picking a Blink CL to a release branch

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