Mercurial
以下是来自Mercurial官网的介绍
Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.
Mercurial和当前广泛应用的git和svn都是源码版本管理工具。
Mercurial 是python编写的,安装前需要先安装好 python
- 检查python是否安装
python --version
,以下是我使用的版本
Python 2.7.10
Mercurial 官网下载得到 mercurial-4.5 软件包
- 解压到合适的目录
- 进入主目录
cd mercurial-4.5
make install
进行安装
安装过程中可能出现 docutils 模块缺失
abort: couldn't generate documentation: docutils module is missing
从 http://docutils.sourceforge.net/ 下载docutils
docutils的安装
* tar -zxf docutils-0.14.tar.gz
* cd docutils-0.14
* sudo python setup.py install
重新 make install
安装Mercurial
hg debuginstall
检查安装情况
checking encoding (UTF-8)...
checking Python executable (/usr/bin/python) checking Python version (2.7.10) checking Python lib (/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7)... checking Python security support (sni,tls1.0,tls1.1,tls1.2) checking Mercurial version (4.5) checking Mercurial custom build () checking module policy (c) checking installed modules (/usr/local/lib/python2.7/site-packages/mercurial)... checking registered compression engines (bz2, bz2truncated, none, zlib, zstd) checking available compression engines (bz2, bz2truncated, none, zlib, zstd) checking available compression engines for wire protocol (zstd, zlib, bz2, none) checking "re2" regexp engine (missing) checking templates (/usr/local/lib/python2.7/site-packages/mercurial/templates)... checking default template (/usr/local/lib/python2.7/site-packages/mercurial/templates/map-cmdline.default) checking commit editor... (vi) checking username... no username supplied (specify a username in your configuration file) 1 problems detected, please check your install!
hg
查看hg命令帮助
Mercurial Distributed SCM
basic commands:
add add the specified files on the next commit annotate show changeset information by line for each file clone make a copy of an existing repository commit commit the specified files or all outstanding changes diff diff repository (or selected files) export dump the header and diffs for one or more changesets forget forget the specified files on the next commit init create a new repository in the given directory log show revision history of entire repository or files merge merge another revision into working directory pull pull changes from the specified source push push changes to the specified destination remove remove the specified files on the next commit serve start stand-alone webserver status show changed files in the working directory summary summarize working directory state update update working directory (or switch revisions) (use 'hg help' for the full list of commands or 'hg -v' for details)
来自官网的快速上手,使用hg命令clone一把官网提供的hello repo
hg clone https://www.mercurial-scm.org/repo/hello
destination directory: hello
requesting all changes
adding changesets
adding manifests
adding file changes
added 2 changesets with 2 changes to 2 files
new changesets 0a04b987be5a:82e55d328c8c updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved