mercurial - distributed version controlling

22
Work Easier Work Faster

Upload: jayantha-sirisena

Post on 23-Jan-2015

864 views

Category:

Technology


0 download

DESCRIPTION

A presentation on distributed version controlling with Mercurial. starts with some introduction on the concept of distributed version controlling and then guidance tp choose best version controlling system out of available tools.

TRANSCRIPT

Page 1: Mercurial - Distributed Version Controlling

Work EasierWork Faster

Page 2: Mercurial - Distributed Version Controlling

 ”Version tools are not just important for maintaining a history of a project, they are also the foundation for a team to

collaborate” -Martin Fowler

http://martinfowler.com/bliki/VersionControlTools.html

Page 3: Mercurial - Distributed Version Controlling

Outline

Bit Of HistoryCentralized vs. DistributedDVCS repository structure and operation conceptsAdvantages over Centralized VCSMercurialWhen it fails

Page 4: Mercurial - Distributed Version Controlling

History

CVS(Concurrent Versioning System) started in 1986

On top of CVS –Subversion(2000) ,Perforce (1995)BitKeeper was the first truly DVCSGit, Mercurial ,Bazzar (2005) Currently in the field – Git , Mercurial

Page 5: Mercurial - Distributed Version Controlling

With Centralized VCS

CI server

Page 6: Mercurial - Distributed Version Controlling

With Distributed VCS

CI Server

Page 7: Mercurial - Distributed Version Controlling

With Distributed VCS

Page 8: Mercurial - Distributed Version Controlling

With Distributed VCS

Page 9: Mercurial - Distributed Version Controlling

With Distributed VCS

Dinesh

Buddhima

RuwanKapila

CI Server

Page 10: Mercurial - Distributed Version Controlling

Working

Directory

Local Repo.

Remote repo.

Hg Update

Hg Commit Hg Push

Hg pull

Hg add

Hg merge

Local Remote

Structure and operation

Page 11: Mercurial - Distributed Version Controlling

Branching , Merging and Tagging

Experimental, Feature branchesTagging is just giving a name to a changesetLocal and global taggingBranch security and policiesMerging – Change sets vs. Revisions

Page 12: Mercurial - Distributed Version Controlling

With Agile Teams

Page 13: Mercurial - Distributed Version Controlling

Workflows

Flexibility of choosing your own workflow – Agile ?

Policies witching team

Page 14: Mercurial - Distributed Version Controlling

Workflows

Page 15: Mercurial - Distributed Version Controlling

Workflows

Page 16: Mercurial - Distributed Version Controlling

Workflows

Page 17: Mercurial - Distributed Version Controlling

Other Advantages

Renaming and Copying.SVN and .hg FoldersInbuilt web serverspace ?

Page 18: Mercurial - Distributed Version Controlling

Mercurial

We chose Hg instead of Git, BazzarLittle slower than gitFriendly for windows / Cross platform support-

(TortoiseHg, Visual Hg)Similar syntax to SVNLower maintenance and easier learning curve than

GitCopying files supported

Page 20: Mercurial - Distributed Version Controlling

When It Fails

Pessimistic locking Who has the latest revision ?  Repository becomes publically available ?

Page 21: Mercurial - Distributed Version Controlling

Who Trust Mercurial