Mercurial: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
''' | '''Mercurial, a.k.a. Hg, is a distributed source control management tool''' | ||
URL: http://mercurial.selenic.com/ | URL: http://mercurial.selenic.com/ | ||
==Main Links== | ==Main Links== | ||
* | * http://hginit.com - a Mercurial tutorial by Joel Spolsky | ||
* Quick | * Online book: [http://hgbook.red-bean.com/read/ Mercurial: The Definitive Guide] | ||
* Quick start: http://mercurial.selenic.com/wiki/QuickStart | |||
* Basic introduction to version control and Mercurial: http://www.soton.ac.uk/~fangohr/computing/Mercurial/talk.pdf | * Basic introduction to version control and Mercurial: http://www.soton.ac.uk/~fangohr/computing/Mercurial/talk.pdf | ||
==Basic Concepts== | ==Basic Concepts== | ||
* '''Working copy''': | * '''Working copy''': Root folder where your project files are located; | ||
* | * '''Repository''': Inside every '''working copy''' folder, there's an '''.hg''' folder, which is an Hg repository. It stores all change history of your files. Every project developer has one. You can also choose to have a ''main'' repository in a specific computer. | ||
* '''.hgignore''': | * '''.hgignore''': Similar to ''.cvsignore''. Located at the root of the '''working copy'''. Specifies which files to ignore. | ||
* '''commit''': | * '''commit''': Stores inside the '''.hg''' folder (i.e. the ''local'' '''repository''') the changes made to the '''working copy'''. A '''commit''' is stored as a new '''changeset'''; | ||
* '''changeset''': | * '''changeset''': Conveys the changes made to a previous state of the '''repository'''. Each changeset has a changeset '''id''', which is a globally unique identifier. Each changeset has a comment; | ||
* ''' | * '''pull''': Brings changesets from a different '''repository''' to your local one (only changesets that you don't already have); | ||
* '''push''': Sends changesets from you local '''repository''' to a different one (only changesets that don't already exist on the other repository); | |||
* '''push''': | |||
==More Information== | ==More Information== |
Revision as of 00:48, 16 October 2010
Mercurial, a.k.a. Hg, is a distributed source control management tool
URL: http://mercurial.selenic.com/
Main Links
- http://hginit.com - a Mercurial tutorial by Joel Spolsky
- Online book: Mercurial: The Definitive Guide
- Quick start: http://mercurial.selenic.com/wiki/QuickStart
- Basic introduction to version control and Mercurial: http://www.soton.ac.uk/~fangohr/computing/Mercurial/talk.pdf
Basic Concepts
- Working copy: Root folder where your project files are located;
- Repository: Inside every working copy folder, there's an .hg folder, which is an Hg repository. It stores all change history of your files. Every project developer has one. You can also choose to have a main repository in a specific computer.
- .hgignore: Similar to .cvsignore. Located at the root of the working copy. Specifies which files to ignore.
- commit: Stores inside the .hg folder (i.e. the local repository) the changes made to the working copy. A commit is stored as a new changeset;
- changeset: Conveys the changes made to a previous state of the repository. Each changeset has a changeset id, which is a globally unique identifier. Each changeset has a comment;
- pull: Brings changesets from a different repository to your local one (only changesets that you don't already have);
- push: Sends changesets from you local repository to a different one (only changesets that don't already exist on the other repository);
More Information
- Intro to Distributed Version Control (Illustrated)
- Mercurial on Wikipedia
- Mercurial Wiki
- Mercurial HOWTOs
- Mercurial success story
- Publishing Repositories with hgwebdir.cgi
- Workflow examples
- From SVN to Mercurial HOWTO
- Best practices in mercurial: branch vs. clone, and partial merges?
See Also
- Pacha - Uses Mercurial to backup and manage software configuration files from single or multiple server instances across the network.