Size: 1307
Comment: alternatives
|
Size: 1556
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 22: | Line 22: |
=== Installation === Install pygit2 into the Python used by your Mercurial: {{{$(hg debuginstall -T'{pythonexe}') -m pip install --user pygit2}}} === Configuration === Enable the extension: {{{ [extensions] git = }}} === Use === |
|
Line 25: | Line 38: |
* Only local branches are presented in Hg (as bookmarks). Use 'git branch -t remotes/origin/branchname' to see more upstream branches as bookmarks. | * Only local branches are presented in Hg (as bookmarks). Use {{{git branch -t remotes/origin/branchname}}} to see more upstream branches as bookmarks. |
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
3.1. Installation
Install pygit2 into the Python used by your Mercurial: $(hg debuginstall -T'{pythonexe}') -m pip install --user pygit2
3.2. Configuration
Enable the extension:
[extensions] git =
3.3. Use
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.