How to work with bazaar on the command line: Difference between revisions
(Created page with '== Setup your environment == Install bazaar. Set your E-Mail address: bzr whoami "John Doe <john.doe@gmail.com>" Create a directory where you want to store all bazaar checkou…') |
No edit summary |
||
Line 1: | Line 1: | ||
= Setup your environment = | |||
Install bazaar. | Install bazaar. | ||
Line 23: | Line 23: | ||
If you tortoisebzr is showing a strange language, then you selected perhaps German and you see a different language. Just remove the different languages except for en in %ProgramFiles%\Bazaar\locale\ | If you tortoisebzr is showing a strange language, then you selected perhaps German and you see a different language. Just remove the different languages except for en in %ProgramFiles%\Bazaar\locale\ | ||
= Get files = | |||
In our example we will use the URL bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/ for the developer repository. | In our example we will use the URL bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/ for the developer repository. | ||
Line 39: | Line 39: | ||
bzr status | bzr status | ||
= Graphical Interface = | |||
Call the explorer in directory of the branch you are interested in: | Call the explorer in directory of the branch you are interested in: | ||
Line 45: | Line 45: | ||
= Branches = | |||
See all branches in OpenPetra: | See all branches in OpenPetra: | ||
Line 59: | Line 59: | ||
You can branch on a specific revision by using the -r parameter, eg. | You can branch on a specific revision by using the -r parameter, eg. | ||
bzr branch bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/trunk -r1026.1.4 bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/rel_0.2.6 | bzr branch bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/trunk -r1026.1.4 bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/rel_0.2.6 | ||
== Rebase branch == | |||
For this commands you need to be in the directory, where the checkout files are in. | For this commands you need to be in the directory, where the checkout files are in. | ||
Line 74: | Line 74: | ||
bzr commit | bzr commit | ||
== Update a branch with the newest info from remote == | |||
Needed for the getting the newest changes for trunk or for branches, where more then one person is working on: | Needed for the getting the newest changes for trunk or for branches, where more then one person is working on: | ||
bzr update | bzr update | ||
== Resolve conflicts during merge or update == | |||
http://doc.bazaar.canonical.com/bzr.2.2/en/user-reference/conflict-types-help.html and http://doc.bazaar.canonical.com/bzr.2.2/en/user-guide/resolving_conflicts.html include an overview about problems, which could arise and how they are fixed. | http://doc.bazaar.canonical.com/bzr.2.2/en/user-reference/conflict-types-help.html and http://doc.bazaar.canonical.com/bzr.2.2/en/user-guide/resolving_conflicts.html include an overview about problems, which could arise and how they are fixed. | ||
Line 89: | Line 89: | ||
marks conflicts as resolved. | marks conflicts as resolved. | ||
== Merge to trunk == | |||
# Checkout or update the trunk branch | # Checkout or update the trunk branch | ||
# Go to the directory of the trunk | # Go to the directory of the trunk | ||
Line 97: | Line 97: | ||
# bzr commit | # bzr commit | ||
= Back out a commit = | |||
Backing out a commit is done by merging. First, you should identify the revision number, e.g. 284. | Backing out a commit is done by merging. First, you should identify the revision number, e.g. 284. |
Revision as of 08:50, 15 December 2010
Setup your environment
Install bazaar.
Set your E-Mail address:
bzr whoami "John Doe <john.doe@gmail.com>"
Create a directory where you want to store all bazaar checkout you are using with openpetra, e.g. C:\openpetra\bzr Go into this directory and create a shared repository for holding all branches you checkout:
C:\openpetra\bzr>bzr init-repo --no-trees ./ Shared repository (format: 2a) Location: shared repository: . C:\openpetra\bzr>
On windows set environment variable BZR_SSH for using plink.exe from putty instead of ssh. If plink is in the path, you could use
BZR_SSH=plink
Otherwise you should set BZR_SSH with the absolut path to plink:
BZR_SSH=c:\programs\putty\plink
NOTE: if you path contains a space character, eg. C:\Program Files\PuTTY\plink: you need to replace the part of the path that contains the space character with the 8.3 (MS-DOS)-style name of that directory (e.g. C:\Progra~1\PuTTY\plink) to avoid strange errors when connecting to the Bazaar Server!
If you tortoisebzr is showing a strange language, then you selected perhaps German and you see a different language. Just remove the different languages except for en in %ProgramFiles%\Bazaar\locale\
Get files
In our example we will use the URL bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/ for the developer repository. For anonymous access you could use the URL http://bzr.openpetra.org:8008/openpetra/ instead.
With the command
bzr explorer bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/
You could see the history of all active branches
Now you could checkout a branch. The master branch is called trunk (like in subversion) in the shared repo from above, e.g. C:\openpetra\bzr:
bzr checkout bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/trunk
If you want to checkout another branch, just exchange trunk with the branch name
See changed files
bzr status
Graphical Interface
Call the explorer in directory of the branch you are interested in:
bzr explorer ./
Branches
See all branches in OpenPetra:
bzr branches bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/
Add a new branch (the directory, where the command is executed, is not relevant):
bzr branch bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/trunk bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/dev_id_whatever
Afterwards you need to checkout it out with the command described above (Get files)
For info about your branch, execute in the directory of your checkout:
bzr info
You can branch on a specific revision by using the -r parameter, eg.
bzr branch bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/trunk -r1026.1.4 bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/rel_0.2.6
Rebase branch
For this commands you need to be in the directory, where the checkout files are in.
For the first rebase of the branch, you need to add the info, from where to merge:
bzr merge bzr+ssh://bazaar@bzr.openpetra.org:2208/openpetra/trunk
This information you see on the operation
bzr info
For the next rebase merges, following command is working:
bzr merge
Checkin the changes:
bzr commit
Update a branch with the newest info from remote
Needed for the getting the newest changes for trunk or for branches, where more then one person is working on:
bzr update
Resolve conflicts during merge or update
http://doc.bazaar.canonical.com/bzr.2.2/en/user-reference/conflict-types-help.html and http://doc.bazaar.canonical.com/bzr.2.2/en/user-guide/resolving_conflicts.html include an overview about problems, which could arise and how they are fixed.
The command
bzr conflicts
show all conflicts, the command
bzr resolve
marks conflicts as resolved.
Merge to trunk
- Checkout or update the trunk branch
- Go to the directory of the trunk
- Merge in the branch:
- Resolve conflicts
- bzr commit
Back out a commit
Backing out a commit is done by merging. First, you should identify the revision number, e.g. 284. Then you are able to undo the commit by merging the difference between 284 and 283:
bzr merge -r 284..283 ./ bzr commit