Upload
collabock
View
833
Download
0
Tags:
Embed Size (px)
DESCRIPTION
A Comprehensive introduction to DVCS
Citation preview
ProgressiveRevision Control
A Comprehensive introduction to
DVCS
Presented by Ivan YatskevichMinsk, 2009
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
History
1972
1980's
1990's
2000
2005
SCCS
RCS, CVS
TeamWare, BitKeeper
Subversion
Git, Mercurial
Definition
Distributed
Version Control System
Definition
?
Definition
!
Definition
Decentralized
Version Control System
Definition
Alice's workingcopy
Bob's workingcopy
Cindy'sworkingcopy
Central repository
svn
?
?
.svn .svn .svn
.svn .svn
.svn .svn
.svn
.svn .svn .svn
.svn .svn
.svn .svn
.svn
.svn .svn .svn
.svn .svn
.svn .svn
.svn
Definition
Alice's repository andworkingcopy
.hg
Bob's repository andworkingcopy
.hg
Cindy's repository andworkingcopy
.hg
Central repository
.hg
Basic concepts
0
c0bda9cb5ce8
1
38d2da7b7a7b
2
294f1e8244b1
3
3850688da582
4
294f1e8244b1 0d5495eb5994
tip
Basic concepts
Practice is
the King
Basic concepts
Key points to remember:
● revisions, branches, merges, heads, tip● local and global revision ids● no network connection is required for most operations● pull-merge-commit cycle
Basic concepts
Most used commands:
hg commit
hg update
hg merge
hg pull
hg push
hg revert
create new revision
update working copy to specified revision
merge two branches
get changes from remote repo
upload changes to remote repo
restore the state and content to specific revision
Goodies
Useful features:
hg serve
hg bisect
hg fetch
hg convert
light-weight built-in server
find bugs using binary search
pull+merge+update
convert to hg from CVS, SVN, git and more
Extensions
Download and installation
Windows/MacOS X/Sources
http://mercurial.selenic.com/downloads/
Gentoo
$ emerge mercurial
Debian/Ubuntu
$ apt-get install mercurial
Fedora
$ yum install mercurial
Tools
All platforms
TortoiseHG
Eclipse plug-ins
Command line interface
IntelliJ IDEA plug-ins
Windows
http://mercurial.selenic.com/wiki/OtherTools
More tools
Integration
Conclusions
Resources
Official Mercurial Wiki http://mercurial.selenic.com/wiki
Mercurial: The Definitive Guidehttp://hgbook.red-bean.com
Version Control with Subversionhttp://svnbook.red-bean.com/
InfoQ: Distributed Version Control Systems: A Not-So-Quick Guide Throughhttp://www.infoq.com/articles/dvcs-guide
Wikipediahttp://www.wikipedia.org
The End
Any Questions?