首页
/ Hg-Git Mercurial 插件技术文档

Hg-Git Mercurial 插件技术文档

2024-12-23 15:56:38作者:郁楠烈Hubert

1. 安装指南

依赖项

Hg-Git 插件完全使用 Python 实现,因此不需要 Git 二进制依赖项,也不需要在系统上安装 Git。唯一的依赖项是 Mercurial 和 Dulwich。请查看 Makefile 文件以了解已知兼容的 Mercurial 版本,以及 setup.py 文件以了解所需的 Dulwich 版本。

安装步骤

  1. 克隆 Hg-Git 仓库到本地:

    hg clone https://bitbucket.org/durin42/hg-git
    
  2. ~/.hgrc 文件中添加 Hg-Git 插件的扩展配置:

    [extensions]
    hggit = /path/to/hg-git/hggit
    
  3. 确保 Mercurial 和 Dulwich 的版本符合要求。

2. 项目使用说明

从 Git 仓库克隆到 Hg

你可以通过运行以下命令从 Hg 克隆一个 Git 仓库:

hg clone <url> [dest]

例如:

hg clone git://github.com/schacon/hg-git.git

从 Hg 仓库推送到 Git

如果你从一个现有的 Hg 仓库开始,你需要在某个你有推送权限的地方设置一个 Git 仓库,并在 .hg/hgrc 文件中为它添加一个路径条目,然后从你的仓库中运行 hg push [name]。例如:

cd hg-git # (一个 Hg 仓库)
# 编辑 .hg/hgrc 并在 paths 部分添加目标 git url
hg push

拉取更新

你可以使用 hg pull 命令从 Git 仓库拉取更新:

hg pull

将 Mercurial 仓库转换为 Git 仓库

你可以使用以下命令将 Mercurial 仓库转换为 Git 仓库:

mkdir git-repo; cd git-repo; git init; cd ..
cd hg-repo
hg bookmarks hg
hg push ../git-repo

3. 项目 API 使用文档

命令

  • gclear: 待完成
  • gimport: 待完成
  • gexport: 待完成
  • git-cleanup: 待完成

Hg 书签集成

Hg-Git 会将你的书签推送到 Git 服务器作为分支,并从 Git 分支拉取并设置为书签。

4. 项目安装方式

配置

  • git.intree: 默认情况下,Hg-Git 会在本地 Mercurial 仓库的子目录 git 中保留一个 Git 仓库克隆。如果你希望这个 Git 克隆与 Mercurial 仓库在同一级别(命名为 .git),请在 hgrc 中添加以下配置:

    [git]
    intree = True
    
  • git.authors: 如果你希望自定义作者名称转换,可以在 hgrc 中添加 git.authors 选项,并指定一个作者翻译文件。

  • git.branch_bookmark_suffix: 如果你希望在书签名称中添加后缀以便与分支名称区分,可以在 hgrc 中添加 branch_bookmark_suffix 选项。

  • git.mindate: 如果你希望忽略某些旧的分支,可以设置 git.mindate 选项。

  • git.similarity: 指定文件修改的相似度以识别重命名或复制操作。

  • git.renamelimit: 指定在执行复制/重命名检测时要考虑的文件数量。

  • git.findcopiesharder: 是否考虑未修改的文件作为复制源。

通过以上配置,你可以根据项目需求自定义 Hg-Git 的行为。

登录后查看全文
热门项目推荐