Bazaar
DVCS for Human Beings!
another Version Control System?!?!
started in 2004 as arch fork
Martin Pool released Bazaar 1.0 in 2005
Flexible
Different Workflows
Solo Project
bzr init-repo my.repo
cd my.repo
bzr init my.main
cd my.main
“code” “code”
bzr add
bzr commit -m "First import"
“code” “code”
bzr commit -m "New Feature"
bzr commit           
--author             
"jrey@example.com"   
--author             
"jdoe@example.com"
Mistakes happen
bzr revert filename
bzr commit -m “Fix bug 11”
(damn! wrong bug number)
bzr uncommit
bzr commit -m “Fix bug 1”
Centralized Workflow


                init repo
push
bzr push
ftp://host/bzr/PRJ/trunk
Prefix     Description
file://     Filesystem
sftp://    SecureFtp
bzr://    Bazaar smart
 ftp://      server
           Pas...
checkout
commit
update
Online-Offline Workflow

checkout        checkout
local commit
bzr commit --local
unbind
commit
 bind
Decentralized Shared Mainline Workflow
                       mainline

         branch          branch
local commit   local commit
mainline
              merge
merge push
              push
Decentralized Gatekeeper Workflow
         mainline
         read only

                 branch
local commit
local merge
merge request
merge
Branches
Branches


bzr branch URL [directory]
Branches


bzr branch M:/cool-trunk
Branches


bzr branch /
sftp://bill@host/repo/prj
A directory tree is the branch

              branch
Merge
Merge


cd branch_dir
bzr merge
Merge



   merge



  push
3-way merging

A   B    C   Result   Comment

x   x    x     x      unchanged

x   x    y     y      line from C

x    y  ...
Resolving Conflicts

  foo.BASE
  foo.OTHER
  foo.THIS
bzr remerge --weaver foo
Clients
     TortoiseBzr
Eclipse
Bzr
Explorer
Conclusions
Why Switch to Bazaar
no server
 process
merge that
just works
Bazaar: DVCS for Human Beings!
Bazaar: DVCS for Human Beings!
Upcoming SlideShare
Loading in …5
×

Bazaar: DVCS for Human Beings!

1,400 views

Published on

A brief and introductory presentation about Bazaar, the distributed version control system build by Canonical ro manage Ubuntu development

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,400
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Bazaar: DVCS for Human Beings!

    1. 1. Bazaar DVCS for Human Beings!
    2. 2. another Version Control System?!?!
    3. 3. started in 2004 as arch fork
    4. 4. Martin Pool released Bazaar 1.0 in 2005
    5. 5. Flexible
    6. 6. Different Workflows
    7. 7. Solo Project
    8. 8. bzr init-repo my.repo
    9. 9. cd my.repo bzr init my.main
    10. 10. cd my.main “code” “code”
    11. 11. bzr add bzr commit -m "First import"
    12. 12. “code” “code”
    13. 13. bzr commit -m "New Feature"
    14. 14. bzr commit --author "jrey@example.com" --author "jdoe@example.com"
    15. 15. Mistakes happen
    16. 16. bzr revert filename
    17. 17. bzr commit -m “Fix bug 11”
    18. 18. (damn! wrong bug number)
    19. 19. bzr uncommit
    20. 20. bzr commit -m “Fix bug 1”
    21. 21. Centralized Workflow init repo
    22. 22. push
    23. 23. bzr push ftp://host/bzr/PRJ/trunk
    24. 24. Prefix Description file:// Filesystem sftp:// SecureFtp bzr:// Bazaar smart ftp:// server Passive Ftp http:// Read-only
    25. 25. checkout
    26. 26. commit
    27. 27. update
    28. 28. Online-Offline Workflow checkout checkout
    29. 29. local commit
    30. 30. bzr commit --local
    31. 31. unbind commit bind
    32. 32. Decentralized Shared Mainline Workflow mainline branch branch
    33. 33. local commit local commit
    34. 34. mainline merge merge push push
    35. 35. Decentralized Gatekeeper Workflow mainline read only branch
    36. 36. local commit
    37. 37. local merge
    38. 38. merge request
    39. 39. merge
    40. 40. Branches
    41. 41. Branches bzr branch URL [directory]
    42. 42. Branches bzr branch M:/cool-trunk
    43. 43. Branches bzr branch / sftp://bill@host/repo/prj
    44. 44. A directory tree is the branch branch
    45. 45. Merge
    46. 46. Merge cd branch_dir bzr merge
    47. 47. Merge merge push
    48. 48. 3-way merging A B C Result Comment x x x x unchanged x x y y line from C x y x y line from B x y z ? conflict
    49. 49. Resolving Conflicts foo.BASE foo.OTHER foo.THIS
    50. 50. bzr remerge --weaver foo
    51. 51. Clients TortoiseBzr
    52. 52. Eclipse
    53. 53. Bzr Explorer
    54. 54. Conclusions
    55. 55. Why Switch to Bazaar
    56. 56. no server process
    57. 57. merge that just works

    ×