Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Bazaar for Mere Mortals


Published on

Published in: Technology
  • Be the first to comment

Bazaar for Mere Mortals

  1. 1. version control for mere and freelance mortals emma jane hogbin
  2. 2. About this talk As a freelance developer chances are good you use either many, or no, ● version control systems for your code. If your mental health has been compromised by file naming, or you wish there was more flexibility in how (and when) your files are submitted to data central, it's possible that Bazaar is the version control system you've been waiting for. In this session you will be exposed to one freelancer's adventures of getting all ● projects arranged into a manageable version control system. Specific topics will include: * an overview of the main competitors in the open source world of version ● control (the good, the better and the CVS); * a peek into a single human's work environment to see how it ties together ● multiple projects, multiple computers, and deals with travel-related network outages; and finally, * a tour of the basics you will need to set up your own system with Bazaar. ●
  3. 3. By the end you will be equipped  to use version control as part of your daily routine.
  4. 4. SRSLY
  5. 5. Why this talk?
  6. 6. Because this sucks: $ cp template.php template.php.old $ vim template.php $ cp template.php template.php.c.20081025c
  7. 7. And this is awesome: $ bzr blame legalnotice.xml  156.1.13 camille | <?xml version=quot;1.0quot; encoding=quot;utf­8quot;?> 156.1.19 camille | <!DOCTYPE legalnotice PUBLIC quot;­//OASIS//DTD DocBook XML  V4.3//ENquot; quot;;> 156.1.5  spindle | <legalnotice> 156.1.13 camille |   <para>Written by and attributed to Canonical Ltd.  and the Ubuntu 161.1.2  emmajan |   Training community 2008­2009.</para> 156.1.13 camille |   <para>This license is bound by the Creative Commons: CC by
  8. 8. A brief history of version control...
  9. 9. Ancient:   SCCS (1972) Old School:   RCS (ci / co) Centralized:   CVS / Subversion Decentralized:   Git / Mercurial / Bazaar / SVK
  10. 10. A real history of VC is  available from:
  11. 11. Bazaar & Launchpad
  12. 12. Open sourced July 2009
  13. 13. Workflow
  14. 14. Drupal – Freelance Contracts
  15. 15. Ubuntu Documentation Team
  16. 16. Drupal – Freelance Contracts
  17. 17. my setup backups Local testing server Live server
  18. 18. my files graphics client themes documentation
  19. 19. 1 Install Bazaar http://bazaar­ you only need this on machines that will be editing code
  20. 20. 2 Start the magic trick $ bzr init this converts the directory to one that can be version­controlled
  21. 21. 3 Put the rabbit into the hat $ bzr add Add your files to the version control system.
  22. 22. 4 Wave the magic wand $ bzr commit Commit the “changes” to the repository.
  23. 23. Do some work. commit again
  24. 24. 5 The rabbit appears on the server $ bzr upload Upload the changes via SFTP to the Web server.
  25. 25. More information at: http://bazaar­
  26. 26. Ubuntu Documentation Team
  27. 27. Working efficiently The local project trunk idea1 idea2
  28. 28. 1 Working efficiently $ bzr init­repo project­name The local project trunk idea1 idea2
  29. 29. 2 Download the files $ bzr branch lp:project­name trunk From launchpad. The local project trunk idea1 idea2
  30. 30. 3 Copy the files to a working tree $ bzr branch trunk idea1 $ bzr branch trunk idea2 The local project trunk idea1 idea2
  31. 31. Do some work.
  32. 32. 4 Wave the magic wand, again $ bzr commit Commit the “changes” to the working tree—same as before. The local project trunk idea1 idea2
  33. 33. Collaboration is like a bad 1980s dance trax...
  34. 34. Photo source: wikipedia
  35. 35. 5 Work with other people $ bzr push Pushes your changes to an off­site repository. You will need to include a location the first time you push. $ bzr push lp:~USER_NAME/your­project­name/my­branchname The local project trunk idea1 idea2
  36. 36. 6 Incorporate changes from others: $ bzr merge $ bzr pull
  37. 37. Quick reference $ bzr ­­help commands Talk to helpful people /join #bzr (on
  38. 38. But what  about you?