Using Breezy with GitHub¶
GitHub: the largest code-hosting site¶
This tutorial looks at how Breezy and GitHub can be used together.
Accessing code in GitHub using Breezy¶
Getting the code for a project¶
Breezy users can grab code from GitHub using regular GitHub URLs:
brz branch git://github.com/owner/name
where owner is the name of the owner and name is the repository name. Here are some examples:
brz branch https://github.com/inkscape/inkscape
brz branch git://github.com/KDE/amarok
brz branch https://github.com/python/cpython
You can then browse the code locally using your favorite editor or IDE and change the code if you wish.
To access a non-default branch, specify the ‘branch’ segment parameter:
brz branch https://github.com/inkscape/inkscape,branch=backports
Publishing your changes¶
Having fixed that annoying bug or added that cool feature you’ve always wanted, it’s time to impress your friends and make the world a better place by making your code available to others. As explained earlier, GitHub is a code hosting service so you can push your branch to it and others can access your code from there.
In the GitHub web UI, you can create a “fork” of an upstream repository. For example, if user “jelmer” forked the inkscape repository at https://github.com/inkscape/inkscape then the fork would be at https://github.com/jelmer/inkscape.
You can then push your changes to a branch like this:
brz push git+ssh://github.com/jelmer/inkscape,branch=my-branch
Others can then download your code like this:
brz branch git://github.com/jelmer/inkscape,branch=my-branch
Associating branches with GitHub issues¶
The standard Breezy bugtracking functionality can also be used for GitHub issues.
When you commit using Breezy, use the –fixes option like this:
brz commit --fixes github:inkscape/inkscape/1234
where 1234 is the bug ID. This will add some metadata to the commit message.
You can also define a short name for a specific project, by adding an alias for a project. For example, to add an alias for dulwich:
brz config bugtracker_dulwich_url=https://github.com/dulwich/dulwich/issues/{id}