---
title: Converting projects between Git and Bazaar
description: Here in the design team we use both Bazaar and Git to keep track our
  projects’ hostory. We quite often end up coverting our projects from Bazaar to Git
  or vice-versa. Here are some tips on how to do that. To convert revision history
  between Git and Bazaar, we will use their respective fast–import features.  […]
url: https://canonical.com/blog/converting-projects-between-git-and-bazaar?format=md
---

1. [Blog](https://canonical.com/blog)
2. Article

---

[Robin Winslow](https://canonical.com/blog/author/nottrobin "More about Robin Winslow")

on 27 January 2015

# Converting projects between Git and Bazaar

[Design](https://canonical.com/blog/tag/design)

Share on:* [Facebook](https://www.facebook.com/sharer/sharer.php?u=https://www.canonical.com/blog/converting-projects-between-git-and-bazaar "Share on Facebook")
* [Twitter](https://twitter.com/share?text=Converting%20projects%20between%20Git%20and%20Bazaar&url=https://www.canonical.com/blog/converting-projects-between-git-and-bazaar&hashtags=ubuntu "Share on Twitter")
* [LinkedIn](https://www.linkedin.com/shareArticle?mini=true&url=https://www.canonical.com/blog/converting-projects-between-git-and-bazaar&title=Converting%20projects%20between%20Git%20and%20Bazaar "Share on LinkedIn")

---

---

## Newsletter signup

Get the latest Canonical news and updates in your inbox.

Work email:

\*I agree to receive information about Canonical's
products and services.

By submitting this form, I confirm that I have read and agree to [Canonical's Privacy Policy](https://canonical.com/legal/data-privacy).

Sign up

Here in the [design team](http://design.canonical.com/team/) we use both [Bazaar](http://en.wikipedia.org/wiki/GNU_Bazaar) and [Git](http://git-scm.com/) to keep track our projects’ hostory.

We quite often end up coverting our projects from Bazaar to Git or vice-versa. Here are some tips on how to do that.

To convert revision history between Git and Bazaar, we will use their respective [fast](http://wiki.bazaar.canonical.com/BzrFastImport)–[import](https://www.kernel.org/pub/software/scm/git/docs/git-fast-import.html) features.

## Install `bzr-fastimport`

In either case, you need the `fastimport` plugin for Bazaar, which installs both `bzr fast-import` and `bzr fast-export`:

## Bazaar to Git

To convert a Bazaar branch to Git, open a Bazaar branch of your project and do the following:

Now you should have all the revision history for that Bazaar branch in Git:

(From [Astrofloyd’s blog](http://astrofloyd.wordpress.com/2012/09/06/convert-bzr-to-git/))

## Git to Bazaar

Converting from Git to Bazaar is slightly different. Because Bazaar stores branches in sub-folders, while Git stores branches all in the same directory, when you convert a Git repository to Bazaar, it will create a directory tree for the branches:

`bzr-repo` will now contain a folder for each branch that was in your Git repository. You’re probably most interested in `trunk`, which will be at `bzr-repo/trunk`, or perhaps `bzr-repo/trunk.remote`:

(From [the Bazaar wiki](http://wiki.bazaar.canonical.com/Scenarios/ConvertFromGit))

## Keeping a project in both Git and Bazaar

You may wish to keep a project in both Git and Bazaar.

### Create ignore files for both systems

As your project may be used in either Git or Bazaar, you should create practically duplicate [`.gitignore`](https://help.github.com/articles/ignoring-files) and `.bzrignore` files, the only difference being that the `.bzrignore` should ignore the `.git` directory, and the `.gitignore` should ignore the `.bzr` directory. You should also make sure you ignore the `bzr-repo` directory – e.g.:

And keep both ignore files in all versions of the project.

### Only work in one repository

It is not practical to be doing your actual work in both systems, because converting from one to the other will overwrite any history in the destination repository. For this reason you need to choose to do all your work in either Git or Bazaar, and then regularly convert it to the other using the above conversion instructions.

#### Related posts

---

[Kola Ojoodide](https://canonical.com/blog/author/kola-ojoodide)

26 June 2026

### [Challenges designers face in open source (and how to fix them)](https://canonical.com/blog/challenges-designers-face-in-open-source-and-how-to-fix-them)

Company

Ubuntu tech blog

Open source powers up to 90% of modern software, yet many projects lack usability. Canonical’s Design team surveyed 115 cross-functional professionals to uncover the 4 core challenges UI/UX designers face when contributing, and how maintainers can solve them. ...

---

[Nina Rojc](https://canonical.com/blog/author/ninarojc)

16 June 2026

### [Template: Streamlining open source design contributions](https://canonical.com/blog/template-streamlining-open-source-design-contributions)

Design

Article

As designers working at Canonical, we’re always thinking about open source. We believe that encouraging more designers to contribute to open source  benefits everyone, from the project maintainers to the end users themselves.   In the 2025 edition of FOSSBackstage conference, we presented our research findings on  why designers don’t get ...

---

[Miguel Divo](https://canonical.com/blog/author/mdivo)

22 May 2026

### [Decoding design: How design and engineering thrive together in open source](https://canonical.com/blog/decoding-design-how-design-and-engineering-thrive-together-in-open-source)

Design

Article

Open source thrives on engineering-driven processes. Fast feedback loops, terminal tools, Git workflows: they’re the lifeblood of how we build software in the open. But for software to truly excel, we need to create user experiences that empower people to use them. I wanted to bring this conversation into the spotlight as part of Canonica ...
