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.
The first time you use GitHub, you will need to log into to your GitHub account
with Breezy. This can be done by running brz github-login
. This will prompt
you for your password, and store the authentication token in ~/.config/breezy.
You can now use either brz publish
to upload the changes back to
GitHub, or brz propose
to upload to the changes to GitHub and
create merge proposal.
Both brz publish
and brz propose
will create a fork of the upstream
repository and then push your local changes to the active branch
(or another branch specify with the –name argument).
For example, running brz publish --name=my-branch
in your local inkscape
clone will create https://github.com/jelmer/inkscape if your GitHub username is
“jelmer”, and it will open your editor to allow you to enter the merge proposal
description.
Subsequent use of brz publish
in the local branch (e.g. to push more
commits) will update the previously created 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}