Distributed Version Control
System
gasolin@TWJUG 2010/12/24
About Me
gasolin
●GTUG Taipei Member
●Embedded Network Device engineer
●Android developer and book author
●Pythonista
Vers...
你必須使用一個原始碼控制工具,
否則你就會像缺了左膀右臂一樣
-- 編程創藝
Source
Control
Version
Control
System
CVS
1990
SVN
2001
git
2005
Linux Kernel
hg
2005
What is Mercurial for?
Distributed Version Control
System
Version Control Procedure
●Get source from repository
●Modify source
●Commit source
Version Control Procedure (Extra)
●Put source on repository
●Deal with conflict
●Offline development (DVCS)
hg Advantages
Cross platform
Windows/Mac/Linux
Similar
syntax
to svn
Not pollute namespace
save all in .hg
Tools Ready
http://cbes.javaforge.com/update
MercurialEclipse
TortoiseHg
http://tortoisehg.bitbucket.org/
Hudson Plugin
ht...
Hosts Ready:
http://code.google.com/hosting/
http://bitbucket.org/
Migration Ready
Converting Svn To Hg
http://goo.gl/jReee
Cloud Version Control
+
http://db.tt/sJ60U6U
Hosting
Write Documents, Examples
Trace Issues, Bugs, Requessts
Version Control
Tagging new Version
Distributing
(Place for Download)
Empower the Coder
as Project Maintainer
While act as the User
Get a copy
$ hg clone
Local
Remote
Update changes
$ hg pull
Local
Remote
Update & Merge
$ hg up
Local
While act as Developer
Start repository
$ hg init
Local
Add control
$ hg add [file/folder]
Local
Rename File
$ hg addremove
Local
build-in web interface
$ hg serve -p [port]
Local
Remove control
$ hg rm [file/folder]
Local
Save to repository
$ hg ci -m "message"
Local
Fork a branch
$ hg branch [branch_name]
Local
Remote
Merge a branch
$ hg up default
$ hg merge [branch_name]
Local
Remote
Share commits
$ hg push
Local
Remote
(or add destination)
Tagging
$ hg tag [tag name]
Local
Thanks for listening
Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)
Introduction of Distributed version control system (mainly Mercurial)
Upcoming SlideShare
Loading in …5
×

Introduction of Distributed version control system (mainly Mercurial)

1,135 views

Published on

talk at TWJUG at 2010

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,135
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
13
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Introduction of Distributed version control system (mainly Mercurial)

  1. 1. Distributed Version Control System gasolin@TWJUG 2010/12/24
  2. 2. About Me gasolin ●GTUG Taipei Member ●Embedded Network Device engineer ●Android developer and book author ●Pythonista Version Control Experience: ●SourceSafe ●SVN ●Mercurial (Hg) Contact ●gasolin@gmail.com ●www.plurk.com/gasolin
  3. 3. 你必須使用一個原始碼控制工具, 否則你就會像缺了左膀右臂一樣 -- 編程創藝
  4. 4. Source Control
  5. 5. Version Control System
  6. 6. CVS 1990
  7. 7. SVN 2001
  8. 8. git 2005 Linux Kernel
  9. 9. hg 2005
  10. 10. What is Mercurial for? Distributed Version Control System
  11. 11. Version Control Procedure ●Get source from repository ●Modify source ●Commit source
  12. 12. Version Control Procedure (Extra) ●Put source on repository ●Deal with conflict ●Offline development (DVCS)
  13. 13. hg Advantages
  14. 14. Cross platform Windows/Mac/Linux
  15. 15. Similar syntax to svn
  16. 16. Not pollute namespace save all in .hg
  17. 17. Tools Ready http://cbes.javaforge.com/update MercurialEclipse TortoiseHg http://tortoisehg.bitbucket.org/ Hudson Plugin http://wiki.hudson-ci.org/display/HUDSON/Mercurial+Plugin http://code.google.com/hosting/
  18. 18. Hosts Ready: http://code.google.com/hosting/ http://bitbucket.org/
  19. 19. Migration Ready Converting Svn To Hg http://goo.gl/jReee
  20. 20. Cloud Version Control + http://db.tt/sJ60U6U
  21. 21. Hosting
  22. 22. Write Documents, Examples
  23. 23. Trace Issues, Bugs, Requessts
  24. 24. Version Control
  25. 25. Tagging new Version
  26. 26. Distributing (Place for Download)
  27. 27. Empower the Coder as Project Maintainer
  28. 28. While act as the User
  29. 29. Get a copy $ hg clone Local Remote
  30. 30. Update changes $ hg pull Local Remote
  31. 31. Update & Merge $ hg up Local
  32. 32. While act as Developer
  33. 33. Start repository $ hg init Local
  34. 34. Add control $ hg add [file/folder] Local
  35. 35. Rename File $ hg addremove Local
  36. 36. build-in web interface $ hg serve -p [port] Local
  37. 37. Remove control $ hg rm [file/folder] Local
  38. 38. Save to repository $ hg ci -m "message" Local
  39. 39. Fork a branch $ hg branch [branch_name] Local Remote
  40. 40. Merge a branch $ hg up default $ hg merge [branch_name] Local Remote
  41. 41. Share commits $ hg push Local Remote (or add destination)
  42. 42. Tagging $ hg tag [tag name] Local
  43. 43. Thanks for listening

×