Version Control Basics
1) Bazaar (bzr)
All of the components for Mythbuntu are stored in bzr, a version control system. bzr will be required for reviewing code and making branch modifications.
You can install bzr from apt://bzr
Once you've installed bzr, you'll want to set up your user account using the whoami command.
For example:
bzr whoami "Mario Limonciello <superm1@ubuntu.com>"
If you will be creating patches or changing things, you'll want to configure pushing via SSH. There are two prerequisites:
- You need to add an SSH key to your Launchpad account. You can visit https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair for more information on how to do this.
- You need to log into launchpad using launchpad-login:
bzr launchpad-login USER
Checking out a branch is done like this:
bzr get BRANCH_URL
- BRANCH_URL is the URL described individually below
Add new files that weren't previously in version control:
bzr add FILE
- FILE is the file to add (with the full path)
bzr status
bzr diffTo actually commit your changes:
bzr commit
If you are in the Mythbuntu Team (http://launchpad.net/~mythbuntu), you should bind to the branch and then will push when you make a commit automatically.
bzr bind BRANCH_URL
If you are not in the Mythbuntu group, you will be able to push to a private branch and then request a merge from a Mythbuntu developer.
bzr push lp:~USER/mythbuntu/BRANCH_NAME
- USER is your launchpad account name
- BRANCH_NAME is the name of the branch that will be merged
2) Subversion (svn)
Components for MythTV, Mythplugins, and Myththemes are stored via svn, a version control system. svn will be required for producing patches to submit upstream.
You can install svn from apt://subversion
Here is the syntax for checking out from a svn branch:
svn checkout BRANCH_URL
If you have an existing checkout and just want to update to the latest version, here's how to do it:
svn update BRANCH_URL



