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