Difference between revisions of "Bzr Intro"
m (Tagging as class) |
(initial content for class) |
||
| Line 1: | Line 1: | ||
| − | + | The Bzr Intro class should give a basic understanding of how to use the | |
| + | [http://bazaar-vcs.org bzr] revision control system and some of the useful | ||
| + | helper utilities available for bzr. | ||
| + | |||
| + | ==background== | ||
| + | ===prerequisites=== | ||
| + | * basic familiarity with [[Basic_Linux_Command_Line_for_Builders|commandline]] and [[Command Line 2]] | ||
| + | * basic familiarity with [[Where_Is_Everything|linux]] | ||
| + | * familiarity with a text editor | ||
| + | |||
| + | ===suggested background=== | ||
| + | * basic understanding of cvs, subversion or other revision control systems | ||
| + | |||
| + | ==terms== | ||
| + | |||
| + | ==topics covered== | ||
| + | ===who am i=== | ||
| + | |||
| + | the first time you start working with bzr on a given machine, let it know who | ||
| + | you are, so commit messages will have useful identifiers: | ||
| + | |||
| + | bzr whoami 'FOO BAR <FOO@example.com>' | ||
| + | |||
| + | ===starting a new project=== | ||
| + | |||
| + | bzr init PROJECT | ||
| + | cd PROJECT | ||
| + | bzr add FOO BAR BAZ | ||
| + | bzr ci -m 'added initial files' | ||
| + | bzr push --remember sftp://some.server/home/USERNAME/public_html/bzr/PROJECT/my-branch | ||
| + | |||
| + | ===working on an existing project=== | ||
| + | |||
| + | bzr get URL ORIGIN | ||
| + | bzr get ORIGIN NEW_FEATURE | ||
| + | cd NEW_FEATURE | ||
| + | while feature_is_incomplete: | ||
| + | hack, tweak, etc. | ||
| + | bzr ci | ||
| + | bzr push --remember sftp://some.server/home/USERNAME/public_html/bzr/PROJECT/NEW_FEATURE | ||
| + | |||
| + | announce that your branch has this cool new feature to the project mailing list | ||
| + | or irc channel: | ||
| + | |||
| + | hey, just implemented a fix for bug #10: | ||
| + | bzr get http://some.server/~USERNAME/bzr/PROJECT/NEW_FEATURE | ||
| + | |||
| + | ===staying in sync=== | ||
| + | |||
| + | after making lots of changes, and upstream made lots of changes, it's time to | ||
| + | get back in sync with upstream: | ||
| + | |||
| + | bzr merge ../NEW_FEATURE | ||
| + | bzr ci -m 'merged amazing new feature: NEW_FEATURE' | ||
| + | bzr push sftp://some.server/home/USERNAME/public_html/bzr/PROJECT/my-branch | ||
| + | |||
| + | ===converting an existing project from subversion=== | ||
| + | |||
| + | with [http://packages.debian.org/bzr-svn bzr-svn], it's rather simple: | ||
| + | |||
| + | bzr get SUBVERSION_URL PROJECT | ||
| + | |||
| + | it's also possible with [http://packages.debian.org/tailor tailor]. | ||
| + | |||
| + | both claim to be able to continue to make commits on the subversion backend, | ||
| + | but i have not actually tested how well these features work in practice. | ||
| + | |||
| + | ==additional and related topics== | ||
| + | |||
| + | http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html | ||
[[Category:Classes]] | [[Category:Classes]] | ||
Revision as of 14:36, 1 October 2007
The Bzr Intro class should give a basic understanding of how to use the bzr revision control system and some of the useful helper utilities available for bzr.
background
prerequisites
- basic familiarity with commandline and Command Line 2
- basic familiarity with linux
- familiarity with a text editor
suggested background
- basic understanding of cvs, subversion or other revision control systems
terms
topics covered
who am i
the first time you start working with bzr on a given machine, let it know who you are, so commit messages will have useful identifiers:
bzr whoami 'FOO BAR <FOO@example.com>'
starting a new project
bzr init PROJECT cd PROJECT bzr add FOO BAR BAZ bzr ci -m 'added initial files' bzr push --remember sftp://some.server/home/USERNAME/public_html/bzr/PROJECT/my-branch
working on an existing project
bzr get URL ORIGIN bzr get ORIGIN NEW_FEATURE cd NEW_FEATURE while feature_is_incomplete: hack, tweak, etc. bzr ci bzr push --remember sftp://some.server/home/USERNAME/public_html/bzr/PROJECT/NEW_FEATURE
announce that your branch has this cool new feature to the project mailing list or irc channel:
hey, just implemented a fix for bug #10: bzr get http://some.server/~USERNAME/bzr/PROJECT/NEW_FEATURE
staying in sync
after making lots of changes, and upstream made lots of changes, it's time to get back in sync with upstream:
bzr merge ../NEW_FEATURE bzr ci -m 'merged amazing new feature: NEW_FEATURE' bzr push sftp://some.server/home/USERNAME/public_html/bzr/PROJECT/my-branch
converting an existing project from subversion
with bzr-svn, it's rather simple:
bzr get SUBVERSION_URL PROJECT
it's also possible with tailor.
both claim to be able to continue to make commits on the subversion backend, but i have not actually tested how well these features work in practice.
http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html