Difference between revisions of "Bzr Intro"

From FreekiWiki
Jump to navigation Jump to search
m (Tagging as class)
(initial content for class)
Line 1: Line 1:
Stub for an Intro to bzr class
+
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

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.

additional and related topics

http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html