Introduction of Distributed version control system (mainly Mercurial)
-
Upload
fred-lin -
Category
Technology
-
view
108 -
download
2
description
Transcript of Introduction of Distributed version control system (mainly Mercurial)
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
Version Control Experience:● SourceSafe● SVN● Mercurial (Hg)
Contact● [email protected]● www.plurk.com/gasolin
你必須使用一個原始碼控制工具,否則你就會像缺了左膀右臂一樣
-- 編程創藝
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 platformWindows/Mac/Linux
Similar syntax
to svn
Not pollute namespacesave all in .hg
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/
Hosts Ready:
http://code.google.com/hosting/
http://bitbucket.org/
Migration Ready
Converting Svn To Hghttp://goo.gl/jReee
Hosting
Write Documents, Examples
Trace Issues, Bugs, Requessts
Version Control
Tagging new Version
Distributing(Place for Download)
Empower the Coderas Project Maintainer
While act as the User
Get a copy$ hg clone
LocalRemote
Update changes$ hg pull
LocalRemote
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]
LocalRemote
Merge a branch$ hg up default$ hg merge [branch_name]
LocalRemote
Share commits$ hg push
LocalRemote
(or add destination)
Tagging$ hg tag [tag name]
Local
Thanks for listening