Mercurial

出自 ArchWiki

Mercurial (通常被称为 hg) 是一个用 Python 编写的分布式版本控制系统,在许多方面与 GitBazaarDarcs 类似。

安装

Install mercurial 软件包。对于开发版本,安装 mercurial-hgAUR 软件包。

图形化前端

另见 Mercurial 图形用户界面

  • hgk — 基于 Tcl/Tk 的工具,用于以图形方式浏览仓库的历史记录。
https://www.mercurial-scm.org/wiki/HgkExtension || mercurial + tk
  • TortoiseHg — 一套图形工具,以及用于 Mercurial 分布式版本控制系统的 Nautilus 扩展。
https://tortoisehg.bitbucket.io/ || tortoisehgAUR

配置

至少,你应该配置你的用户名,否则 mercurial 在尝试提交时很可能会报错。通过编辑 ~/.config/hg/hgrc~/.hgrc 并添加以下内容来完成此操作

~/.hgrc
[ui]
username = John Smith <johnsmith@domain.tld>

要使用图形浏览器 hgk,也称为 hg view,请将以下内容添加到 ~/.hgrc (参见 论坛帖子)

~/.hgrc
[extensions]
hgk=

你需要在运行 hg view 之前安装 tk,以避免出现相当隐晦的错误消息

/usr/bin/env: wish: No such file or directory

用法

所有 mercurial 命令都以 hg 前缀开头。要查看一些常用命令的列表,请运行

$ hg help

每个命令都有一个帮助页面,可以使用以下命令阅读

$ hg help subcommand

你可以使用预先存在的仓库(代码或文件的集合),或者创建自己的仓库来共享。

要使用预先存在的仓库,你必须将其克隆到你选择的目录

$ mkdir mercurial
$ cd mercurial
$ hg clone https://repo.mercurial-scm.org/hello

要创建你自己的仓库,请更改到你希望共享的目录并初始化一个 mercurial 项目

$ cd myfiles
$ hg init myfiles

Dotfiles 仓库

本文或本节是与 Dotfiles 合并的候选对象。

注意: 使用 git,但思路是相同的。(在 Talk:Mercurial 中讨论)

如果你打算创建包含所有 ~/. 文件的仓库,你只需在你的主文件夹中初始化项目

$ hg init

然后只需添加你希望跟踪的特定文件

$ hg add |file1 file2 file3

然后你可以创建一个 ~/.hgignore 文件,以确保只有你希望包含在仓库中的文件被 mercurial 跟踪。

提示: 如果你在 .hgignore 文件的顶部包含:syntax: glob,你可以轻松地从你的仓库中排除文件组。

技巧和窍门

进度条

如果你要处理大型仓库,你可能需要通过将其添加到你的 ~/.hgrc 文件中来启用 progress 扩展

~/.hgrc
[extensions]
progress =

这将会在超过 3 秒的操作中显示进度条。如果你希望进度条更快显示,你可以将以下内容附加到你的配置文件

~/.hgrc
[progress]
delay = 1.5

参见