Presentation is loading. Please wait.

Presentation is loading. Please wait.

2010. The Subversion Dilemma Check in buggy code and drive everyone else crazy Avoid checking it in until it’s fully debugged or.

Similar presentations


Presentation on theme: "2010. The Subversion Dilemma Check in buggy code and drive everyone else crazy Avoid checking it in until it’s fully debugged or."— Presentation transcript:

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

6

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!


Download ppt "2010. The Subversion Dilemma Check in buggy code and drive everyone else crazy Avoid checking it in until it’s fully debugged or."

Similar presentations


Ads by Google