Merging¶
Merging is the process of taking all Ubuntu changes (Ubuntu delta) made on top of one Debian version of a package and re-doing them on top of a new Debian version of the package. See Merges & syncs for more context information.
Merging series
The article series provides guidance on performing package merges.
- Process overview:
- How to do a merge (this article):
- Extra:
Overview¶
Merging is done using the git-ubuntu
tool. As such, the process in many ways follows that of a git rebase
where commits from one point are replayed on top of another point:
--- something 1.2 ----------------------------- something 1.3
\ \
-- Ubuntu changes a, b, c -- 1.2ubuntu1 -- Ubuntu changes a, b, c -- 1.3ubuntu1
At a more detailed level, there are other sub-tasks to be done, including:
Splitting large, “omnibus”-style commits into smaller logical units (one commit per logical unit).
Harmonizing
debian/changelog
commits into two commits: a changelog merge and a reconstruction.
With this process, we keep the Ubuntu version of a package cleanly applied to the end of the latest Debian version and make it easy to drop changes as they become redundant.
Merge-o-Matic¶
For a list of packages that have changed in Debian but not merged into Ubuntu, see the Merge-o-Matic tool: