How do Git project imports work on Launchpad Branches?

Updated

Launchpad can host your project's source code using Git, and it also imports thousands of Git projects from elsewhere. If you want an external Git project to appear on Launchpad, the import route is the one to use: once imported, the branch is identified with an lp: prefix (for example lp:juju-core or lp:gcc), and it shows up in the Recent imports list on the Launchpad Branches page. Launchpad's own guide is the authoritative source for the current step-by-step process, since the page only links to it rather than reproducing it.

What an import actually gives you

An import creates a Launchpad-hosted copy of an external Git repository. The page states Launchpad "can host your project's source code using the Git version control system" and that it "also import[s] thousands of Git projects."

Two consequences follow directly from the page:

  • Naming. Imported branches are referenced with the lp: prefix. The Recent imports list shows both project-level branches (lp:juju-core, lp:gcc, lp:viking) and personal or team branches (lp:~firmware-testing-team/fwts/master).
  • Visibility. Imports are surfaced publicly in the Recent imports feed, so an import is not a private staging area by default.

The import workflow

The page does not spell out the menu path, so treat the following as the shape of the process rather than exact UI text, and follow Launchpad's linked guide for the current screens.

  1. Confirm the source repository. You need the URL of the external Git repository you want mirrored. The page's examples are all Git projects, consistent with the statement that Launchpad hosts code "using the Git version control system."
  2. Request the import through Launchpad. Launchpad's guide covers this step. The page's own contribution is the pointer: "( Read our guide )" next to the import statement.
  3. Wait for the import to run. Imports appear in the Recent imports feed once processed — that feed is your verification that the import completed.
  4. Reference the branch as lp:<project> or lp:~<owner>/<project>/<branch>. This is the form shown throughout the page's lists.

Expected result: your project's code is browsable on Launchpad under an lp: address, and it can be used as the source for other Launchpad features.

What you can do with an imported branch

The page names one downstream use explicitly: "Launchpad can build Ubuntu packages directly from branches using recipes." So an imported branch is not just a mirror — it can feed package builds. If your goal is packaging rather than hosting, the import is a means to that end, and the recipes guide is the next thing to read.

Scale and context

The page reports 1,009,209 branches registered in 24,968 projects and 4,384 imported branches. Two readings of that:

  • Imports are a small fraction of all branches, so most Launchpad branches are pushed directly rather than imported.
  • The absolute number is still large, which is why the Recent imports feed is a practical way to see what kinds of projects get imported.

Version control caveat

The page carries a notice: "Bazaar will be deprecated in September 2025." It also states the page runs on "Breezy 3.2.0." If you are choosing between Git and Bazaar for a new Launchpad project, the page's own framing points to Git — it describes hosting in terms of Git and lists Git imports, while flagging Bazaar's deprecation.

Choosing whether to import

Situation Reasonable choice
Project already lives in an external Git repo and you want Launchpad visibility or recipes Request an import; reference it as lp:...
Project is new and Launchpad is the primary home Push directly rather than importing
You need the branch to build Ubuntu packages Import (or host) the branch, then set up a recipe
You want a private working copy Check Launchpad's current access rules first — the page shows imports appearing in a public feed

The page does not state pricing or login requirements for imports, so do not assume either is absent; check the linked guide and your account state before relying on it.