Progressive Revision Control


Published on

A Comprehensive introduction to DVCS

Published in: Technology
  • Be the first to comment

Progressive Revision Control

  1. 1. Progressive Revision Control A Comprehensive introduction to DVCS Presented by Ivan Yatskevich Minsk, 2009
  2. 2. Overview 1. A short history of revision control 2. Definition of DVCS 3. Real world DVCS usage (practice) 4. Download and installation 5. Tools and integration 6. Conclusions
  3. 3. History 1972 SCCS 1980's RCS, CVS 1990's TeamWare, BitKeeper 2000 Subversion 2005 Git, Mercurial
  4. 4. Definition Distributed Version Control System
  5. 5. Definition ?
  6. 6. Definition !
  7. 7. Definition Decentralized Version Control System
  8. 8. Definition Alice's Bob's working working copy ? copy .svn.svn .svn .svn.svn .svn .svn .svn .svn .svn .svn .svn .svn .svn .svn .svn ? Central Cindy's repository working copy .svn.svn .svn svn .svn .svn .svn .svn .svn
  9. 9. Definition Alice's Bob's repository repository and and working working copy copy .hg .hg Central Cindy's repository repository and working copy .hg .hg
  10. 10. Basic concepts 38d2da7b7a7b 3850688da582 1 3 c0bda9cb5ce8 0 294f1e8244b1 294f1e8244b1 0d5495eb5994 2 4 tip
  11. 11. Basic concepts Practice is the King
  12. 12. Basic concepts Key points to remember: ● revisions, branches, merges, heads, ti p ● local and global revision ids ● no network connection is required for most operations ● pull-merge-commit cycle
  13. 13. Basic concepts Most used commands: hg commit create new revision hg update update working copy to specified revision hg merge merge two branches hg pull get changes from remote repo hg push upload changes to remote repo hg revert restore the state and content to specific revision
  14. 14. Goodies Useful features: hg serve light-weight built-in server hg bisect find bugs using binary search hg fetch pull+merge+update hg convert convert to hg from CVS, SVN, git and more Extensions
  15. 15. Download and installation Windows/MacOS X/Sources Gentoo $ emerge mercurial Debian/Ubuntu $ apt-get install mercurial Fedora $ yum install mercurial
  16. 16. Tools All platforms Command line interface Ecli pse plug-ins IntelliJ IDEA plug-ins Windows TortoiseHG More tools
  17. 17. Integration
  18. 18. Conclusions
  19. 19. Resources Official Mercurial Wiki Mercurial: The Definitive Guide Version Control with Subversion InfoQ: Distributed Version Control Systems: A Not-So-Quick Guide Through Wiki pedia
  20. 20. Contacts E-mail: Twitter: @yatskevich
  21. 21. The End Any Questions?