the Chromium logo

The Chromium Projects

ModemManager care and feeding

Updating modemmanager-next from upstream. ModemManager is an actively-developed project, and we're currently tracking their git master and working with the upstream team on new features. As such, we need to integrate code from upstream with some regularity.

Setup: Have a repo set up as follows:

Check out upstream:

$ git clone git://anongit.freedesktop.org/ModemManager/ModemManager

Add the ChromiumOS repo as a remote:

$ git remote add chromiumos https://chromium.googlesource.com/chromiumos/third_party/modemmanager-next.git

This repo can be reused for multiple updates.

Each time you want to update from upstream:

$ git fetch

$ git co origin/master

$ git co -b merge-${DATE} # the branch name is arbitrary, I found this pattern handy

$ git fetch chromiumos

$ git merge chromiumos/main

Resolve any conflicts.

Test that the new source compiles and works. (I generally did this by

moving aside the src/third-party/modemmanager-next directory and

moving this working repository into its place).

Test that dependencies (currently, Shill) compile and work, since

they're sensitive to the MM DBus API.

Push to the chromiumos repo

$ git push chromiumos merge-${DATE}:refs/heads/main