Differences between revisions 3 and 4
Revision 3 as of 2020-06-10 17:38:13
Size: 782
Comment: incoming/outgoing also don't work
Revision 4 as of 2020-06-10 19:09:16
Size: 1307
Comment: alternatives
Deletions are marked like this. Additions are marked like this.
Line 42: Line 42:

== Alternatives ==

=== HgGit ===

The HgGit extension, which is installed separately from Mercurial, is more mature and more widely used.

It converts a git repository into a native Mercurial repository (including incremental imports). As a consequence:
 * each commit has a Mercurial hash and a separate Git hash (accessible using the "gitnode" revset/template keyword).
 * the converted repository is roughly twice as large.

=== Convert ===

The ConvertExtension, packaged with Mercurial, has Git support.

git

Operate on Git repositories.

1. Status

This extension is distributed with Mercurial as experimental.

Author: Augie Fackler

2. Overview

This extension grants Mercurial the ability to operate on Git repositories.

Requires pygit2.

3. Usage

In the Mercurial 5.4 release:

  • git(1) must be used for all network operations (e.g. clone, push, pull, incoming, outgoing).

  • Only local branches are presented in Hg (as bookmarks). Use 'git branch -t remotes/origin/branchname' to see more upstream branches as bookmarks.

Example:

git clone git://...
hg init --git
hg status
hg log
hg bookmarks
hg diff
hg add
hg commit
git push
git pull
...

4. Alternatives

4.1. HgGit

The HgGit extension, which is installed separately from Mercurial, is more mature and more widely used.

It converts a git repository into a native Mercurial repository (including incremental imports). As a consequence:

  • each commit has a Mercurial hash and a separate Git hash (accessible using the "gitnode" revset/template keyword).
  • the converted repository is roughly twice as large.

4.2. Convert

The ConvertExtension, packaged with Mercurial, has Git support.

GitExtension (last edited 2020-09-24 17:33:01 by timeless)