QtWebEngine/Rebase on New Chromium: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Rebase on new patch relase)
Line 1: Line 1:
Qt WebEngine keeps its branch of Chromium in the src/3rdparty/chromium submodule.
The submodule is a flattened and trimmed version of chromium where all the submodules of Chromium have been imported into a single module, and many large parts we don't need have been removed to save overhead.
The qtwebengine-chromium submodule has multiple branches.
* upstream-master is the pure snapshotted Chromum upstream
* xx-based are patched branches of Chromium xx with our patches applied to it.
In tools/scripts are a few scripts meant to help with the rebasing.


== Rebase on new patch release ==
== Rebase on new patch release ==
When updating to a new patch release of Chromium.
* Update tools/scripts/version_resolver.py with the new version
* Run "tools/scripts/init-repository.py --baseline-upstream" this will create src/3rdparty_upstream directory with Chromium from the given version
* Make sure src/3rdparty is checked out to 'upstream-master', and you have no files or changes there you want to preserve.
* Run "tools/script/take-snapshort.py" this will copy a trimmed version of src/3rdparty_upstream to src/3rdparty
* Stage all changes (new files and deleted files "git add -A") in src/3rdparty
* Commit and push to upstream-master
* Switch to latest xx-based branch
* Call "git merge upstream-master" and push the merge change to gerrit.
* Create commit in the main qtwebengine module where you add update version_resolver.py and the src/3rdparty SHA1 at the same time.
These steps can also be used if you need to use a new Chromium component that was previously trimmed away, or other files we trimmed away.
Instead of changing version_resolver.py, you update take_snapshot.py so it includes the wanted files, but perform the same steps.


== Cherry-picking patches ==
== Cherry-picking patches ==


== Rebase on new major version ==
== Rebase on new major version ==

Revision as of 13:09, 16 February 2016

Qt WebEngine keeps its branch of Chromium in the src/3rdparty/chromium submodule.

The submodule is a flattened and trimmed version of chromium where all the submodules of Chromium have been imported into a single module, and many large parts we don't need have been removed to save overhead.

The qtwebengine-chromium submodule has multiple branches.

* upstream-master is the pure snapshotted Chromum upstream
* xx-based are patched branches of Chromium xx with our patches applied to it.

In tools/scripts are a few scripts meant to help with the rebasing.

Rebase on new patch release

When updating to a new patch release of Chromium.

  • Update tools/scripts/version_resolver.py with the new version
  • Run "tools/scripts/init-repository.py --baseline-upstream" this will create src/3rdparty_upstream directory with Chromium from the given version
  • Make sure src/3rdparty is checked out to 'upstream-master', and you have no files or changes there you want to preserve.
  • Run "tools/script/take-snapshort.py" this will copy a trimmed version of src/3rdparty_upstream to src/3rdparty
  • Stage all changes (new files and deleted files "git add -A") in src/3rdparty
  • Commit and push to upstream-master
  • Switch to latest xx-based branch
  • Call "git merge upstream-master" and push the merge change to gerrit.
  • Create commit in the main qtwebengine module where you add update version_resolver.py and the src/3rdparty SHA1 at the same time.

These steps can also be used if you need to use a new Chromium component that was previously trimmed away, or other files we trimmed away. Instead of changing version_resolver.py, you update take_snapshot.py so it includes the wanted files, but perform the same steps.

Cherry-picking patches

Rebase on new major version