Download presentation
Presentation is loading. Please wait.
Published byAshlee Harper Modified over 8 years ago
1
2010
2
The Subversion Dilemma Check in buggy code and drive everyone else crazy Avoid checking it in until it’s fully debugged or
3
The Subversion Dilemma Weeks without Version Control
4
Jens Schumacher – Atlassian What is DVCS and why it will change the way we work 2010
5
Overview 1. Mercurial vs. Subversion 2. Basic concepts 3. Use cases
7
Subversion vs Mercurial
8
Merging
9
Subversion vs Mercurial Branching
10
Subversion vs Mercurial Repository Access
11
Subversion vs Mercurial Performance
12
Subversion vs Mercurial Sharing
13
Subversion vs Mercurial Tool Support
14
Subversion vs Mercurial Authentication
15
Subversion vs Mercurial Check Out
16
Subversion vs Mercurial
17
Overview 1. Mercurial vs. Subversion 2. Basic concepts 3. Use cases
18
Repository Architecture
19
Subversion
20
Mercurial
21
Subversion Revisions Subversion is always linear
22
Mercurial Changesets head Each Changeset can have multiple children
23
Mercurial head
24
Mercurial Pull Merge
25
Mercurial "hg commit" adds a new node "hg push" and "hg pull" transfer nodes in the graph between two repositories "hg merge" merge changes in a repository
26
Branching in Mercurial Forks Named Branches Bookmarks Anonymous Branches
27
Forks
28
Complete Isolation Very easy to discard Forking is slower DisadvantagesAdvantages 12
29
Forks When to use Forks When you don’t have commit access To experiment For a build repository
30
Named Branches
31
Branch Metadata Faster than Forking Branch Metadata Closing a Branch (fixed in 1.2) DisadvantagesAdvantages
32
Named Branches When to use Named Branches Working in a team on a feature
33
Bookmarks
34
Lightweight Can be deleted Similar to git Local (fixed in 1.6) Possible loss of context DisadvantagesAdvantages
35
Bookmarks When to use Bookmarks Working in a team on a feature If you like to way git does branching If you use Mercurial 1.6
36
Anonymous Branches
37
Fast No name required No closing required No description Changeset # required (lookup with hg log) DisadvantagesAdvantages
38
Anonymous Branches When to use Anonymous Branches For quick & small fixes
39
Overview 1. Mercurial vs. Subversion 2. Basic concepts 3. Use cases
40
BitBucket Mercurial code hosting Free for 5 users Unlimited public collaborators Unlimited disk space
41
Getting Started
42
The Basics hg init create a new repositoryhg commit save your changes in the current repositoryhg log see all changes in your repositoryhg pull pull all changes from another repository into yourshg push push your changes into another repositoryhg merge join different lines of history hg update update the repository's working directoryhg help repositoryrectoryhg help <c
43
Separate Features Use Case Work on several features in parallel
44
Separate Features $ hg clone project feature$ cd feature$ (do some changes and commits) Clone
45
Separate Features $ cd../project$ hg incoming../feature Incoming Use hg incoming --patch to view the diffs
46
Separate Features $ hg pull../feature Pull The history of feature one is now in your project. However, changes are not yet visible and only stored in the.hg directory
47
Separate Features $ hg merge Merge $ hg commit(enter commit message) Commit
48
Separate Features Changesets
49
Collaborative Feature Development Use Case Using Mercurial to help coordinate the coding
50
Collaborative Feature Development $ hg branch feature(do some changes)$ hg commit(write commit message) Create a branch $ hg update feature(do some changes)$ hg commit(write commit message)
51
Collaborative Feature Development $ hg update default$ hg merge feature$ hg commit(write commit message) Merge the named branch Named branches stay in history as permanent records after you finished your work.
52
Collaborative Feature Development Changesets
53
Tagging Revisions Use Case Release a plugin
54
Tagging Revisions $ hg tag -r 8 v0.1 Add a tag $ hg tags See all tags $ hg update v0.1 Update to a tagged revision
55
Tagging Revisions Tags
56
Overview 1. Mercurial vs. Subversion 2. Basic concepts 3. Use cases
57
Try BitBucket bitbucket.org
58
Links http://mercurial.selenic.com http://stevelosh.com/blog/2009/08/a-guide-to- branching-in-mercurial http://stevelosh.com/blog/2009/08/a-guide-to- branching-in-mercurial http://hgbook.red-bean.com/
59
Thank you!
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.