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