This is an old revision of the document!
Xubuntu Git Workflow
The Xubuntu team uses Git for all version-controlled projects. While Launchpad's Git support is still relatively young, it is still very effective. Furthermore, Git is one of the world's most common version control systems (VCS) and is used upstream: both in Debian and Xfce.
If this is your first time working with Git, the Xfce Wiki has a great guide for getting started and some typical use cases.
Xubuntu and its various projects have used Bazaar since the beginning. Bazaar has served us well in the past, but there are several compelling reasons for us to transition. And the Xubuntu 18.10 cycle is the perfect time for us to move.
- Consistent Workflow: Git is now used by both all of our upstreams. Debian, Xfce, and Shimmer Project all use Git. Upstream contributions become easier with a familiar process.
- Familiarity: Git is one of the most popular version control systems for open source projects. New contributors are more likely to have used Git in previous projects.
- Development Activity: Git continues to be actively maintained and supported, with regular releases and bug fixes. The last Bazaar release was over two years ago.
Setting Up Git
Git identifies repositories using URLs. Unlike Bazaar, there is no built-in abbreviation for repositories hosted on Launchpad, but it is very easy to add such a thing yourself. Edit
~/.gitconfig and add these lines, where USER is your Launchpad username:
[url "git+ssh://USER@git.launchpad.net/"] insteadof = lp:
This allows you to type
git clone lp:REPOSITORY and keeps the bzr and git workflows consistent.
Managing Launchpad Projects
At the time of writing (May 2018), Launchpad does not have full support for git for its project management features. The following features are not fully implemented. There are ways to work around some of these shortcomings, as described below.
Linking Series to Git Branches
This is currently not possible. There is not much functionality lost here.
Translation Imports & Exports
Launchpad does not currently support automatic synchronization to/from Git branches. Instead, you can create an git-to-bzr code import, and import translations from this Bazaar branch. You can periodically download the translations for a project and sync them manually.