The document provides an introduction to distributed version control systems (DVCS) like Mercurial (Hg). It discusses the history of revision control, defines DVCS as decentralized systems where each user has a full copy of the code repository, and covers basic DVCS concepts like revisions, branches, merges and the local/global revision IDs. It also outlines tools for using Mercurial and resources for learning more.
Genislab builds better products and faster go-to-market with Lean project man...
Progressive Revision Control: A Comprehensive Introduction to DVCS
1. Progressive
Revision Control
A Comprehensive
introduction to
DVCS
Presented by Ivan Yatskevich
Minsk, 2009
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
7. Definition
Decentralized
Version Control System
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. 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
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. 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. 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
16. Tools
All platforms
Command line interface
Ecli pse plug-ins
IntelliJ IDEA plug-ins
Windows
TortoiseHG
More tools
http://mercurial.selenic.com/wiki/OtherTools
19. Resources
Official Mercurial Wiki
http://mercurial.selenic.com/wiki
Mercurial: The Definitive Guide
http://hgbook.red-bean.com
Version Control with Subversion
http://svnbook.red-bean.com/
InfoQ: Distributed Version Control Systems: A
Not-So-Quick Guide Through
http://www.infoq.com/articles/dvcs-guide
Wiki pedia
http://www.wiki pedia.org