Mercurial

Mercurial is a (distributed) version control system. Home of mercurial is: http://www.selenic.com/mercurial/wiki/

I'm currently trying out mercurial. Main advantage of mercurial compared to subversion (from my point of view) is primary it's design: distributed version control. You don't depend on an central vcs-server as you do with subversion.

An comprehensive manual can be found at http://hgbook.red-bean.com/

Installation

aptitude install mercurial

Backports for Etch are available, see http://packages.debian.org/search?suite=etch-backports&searchon=names&keywords=mercurial

Configuration

Keywords

Reference: http://www.selenic.com/mercurial/wiki/index.cgi/KeywordExtension

~/project/.hg/hgrc

[...]

[extensions]
hgext.keyword=

# filename patterns for expansion are configured in this section
[keyword]
# expand keywords in all puppet *.pp files in working dir
**.pp =
# do not expand keywords in files matching "x*" in working dir
#x* = ignore

# override the cvs-like default mappings with customized keyword = expansion pairs,
# where expansion values contain Mercurial templates and filters
[keywordmaps]
Id = {file|basename} {rev}:{node|short} {date|utcdate} {author|user}

To crosscheck which files in your working directory are matched by the current [keyword] patterns, use “hg kwfiles”.

Run “hg kwshrink” before changing or disabling currently active keywords.

Run “hg kwexpand” to force expansion in the working directory after enabling it, or after a keyword configuration change.

Converting from subversion

If you want to convert your existing subversion repository, see http://www.selenic.com/mercurial/wiki/index.cgi/ConvertExtension

Steps:

  • ensure hgext.convert= is activated in /etc/mercurial/hgrc.d/hgext.rc
  • ensure phython-subversion is installed
  • checkout the subversion repos you want to convert
  • run hg convert your-svn-repos
  • you will end up with your-svn-repos-hg
vcs/mercurial.txt · Last modified: 2012-03 by tb
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 ipv6 ready