== Bazaar == Bazaar is a distributed revision control system, currently developed by Canonical. More information can be found at: * [http://bazaar.canonical.com/en/ Bazaar Official Web Site] * [http://doc.bazaar.canonical.com/bzr.2.2/en/ Bazaar Official Documentation] [[BR]] == Accessing Repositories == * To create a local branch of ADEI, the following command should be used: {{{ bzr branch https+webdav://darksoft.org/dev/adei/adei }}} * You may synchronize with master branch, using {{{ bzr pull https+webdav://darksoft.org/dev/adei/adei }}} * To publish the branch on the server, you need to obtain write-access to the repositories. * Please, register in Trac and use Trac user-name and password for authentication. * Please, avoid committing to the master branch, use '''adei-''' where the suffix is your name or a name of feature you are currently working for. For instance '''adei-eventdisplat'''. * For adei-related projects, use '''-[-suffix]'''. For instance, '''kitcube-status''' for a master branch of KIT Cube status display and '''kitcube-status-feature1''' for work on some status display features. * To send current local version to the server, execute {{{ bzr push https+webdav://darksoft.org/dev/adei/adei-eventdisplay }}} == Managing local changes == * There are few basic commands you need to know to start working with Bazaar * bzr status - will report current changes to the tree * bzr diff - will output an unified diff file between current tree and last commit * bzr revert - may be used to revert changes in the whole tree or specified file * bzr add - will add new files into the tree * bzr commit - will commit a new revision. Please, look for next section how to make commit messages properly == Committing changes == Any changes that you make, are ''locally'' stored with the commit command {{{ bzr commit }}} which asks you for a commit message. Similar to Git, Bazaar handles the very first line of a commit message in a special way. For example `bzr log --line` prints the whole log with revision number, author, date and first line. To keep things nice and tidy, this first line should ''summarize'' the commit in ''50'' characters or less. To increase readability of these lines you may use the `: ` format, with the following possible prefixes: * Fix (e.g. `Fix: segmentation fault` or `Fix: bug #1234`) * Add (e.g. `Add: web interface`) * Update (e.g. `Update: version`) Because, this line is limited to only 50 characters, you can use several paragraphs divided by newlines to explain not only ''what'' you did, but more importantly ''why'' you changed something. These paragraphs must be wrapped at 72 characters. You should definitely make use of Bazaar's builtin bug-tracker support. To enable this for the UFO project add this line to your `bazaar.conf` (located in `~/.bazaar`): {{{ [DEFAULT] trac_adei_url = http://adei.info/adei }}} Now, for each bug that has an associated ticket, you can mark the fixing commit with {{{ bzr commit --fixes adei:123 }}} [[BR]]