Mercurial is not a chemical element. Are you curios what is it?
Who am I?Ivan Ostafiychuk <firstname.lastname@example.org>,Software EngeenerWorking at SoftServe Inc.
What is a Mercurial?● Distributed Version Control System like Git, Bazaar and others● Mercurial was created by Matt Mackall in April 19, 2005● The latest stable 2.1 is released February 1, 2012 (3 days ago)
Getting StartedHow can you get it?● Windows Get it from http://tortoisehg.bitbucket.org/● Linux Ubuntu: $ apt-get install mercurial Fedora: $ yum install mercurial Gentoo: $ emerge mercurialMac OS Xhttp://mercurial.berkwood.com/
Start Tour: Initial setup$ cat .hgrc[ui]username = Ivan Ostafiychuk <email@example.com>
Start Tour: Daily commandsCommand Descriptionhelp <cmd> Built-in help systeminit Create empty repositoryadd Mark files to be added to repository Mark files to be removed fromremove (rm) repositorycommit (ci) Commit your changes to repositorystatus (st) Show your changeshistory (log) Show your changes
Start Tour: Example$ cd ~$ mkdir my-cool-project$ cd my-cool-project$ vi main.c$ hg add main.c$ hg ci -m "Initial commit."$ vi main.c$ hg ci -m "Refactored a bit"
TeamWork: commandsCommand Descriptionclone Make a copy of your repositorypull Pull changes from another repository into yourspull -u Performs the same as pull but also updates working directorypush Push your changes into another repositorymerge Merge working directory with another revision
TeamWork: Example$ mv my-cool-project john@my-cool-project$ hg clone john@my-cool-project bob@my-cool-project$ cd bob@my-cool-project$ # doing our stuf here (e.g. changes, commits)$ # BUT john also developed some awesomefeature and we want it NOW$ hg pull -u ../john@my-cool-project$ hg merge && hg ci -m"Synced with John."
Branching: Named branches
BitBucket.org● Free hosting for Mercurial and Git● Unlimited repositories in terms of size and count● Wiki & Issue Tracker● Support for fork and pull model