git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v5 00/14] New remote-hg helper

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Oct 30, 2012, 04:35 UTC
Message-ID
<1351571736-4682-1-git-send-email-felipe.contreras@gmail.com>
Hi,

I've ported the tests from hg-git and made sure that the output from remote-hg matches the output of hg-git. With these extensive tests I would consider this one ready for wide use. Not only do the tests pass, I've compared the generated repos of a few projects, and the SHA-1's are exactly the same :)

This remote-hg has advantages other tools don't have:
 * Uses transport-helper (git clone hg::path)
 * The code is small
 * The code is simple
 * No external dependencies (other than mercurial)
 * It's easy to install (put into your path)
 * Has extensive tests
 * Active development
 * Has compatibility with hg-git
 * The required patches are available
 * No changes necesary to git core

One important alternative is the one written by Sverre Rabbelier that is now maintained and distributed in msysgit. It's hard to evaluate this option as there isn't a branch specific to this remote helper so it would be possible to evaluate the necessary patches.

To use it add it to your $PATH (e.g. ~/bin).
 % git clone hd:///full/path/or/url/to/hg/repo
To run the tests:
 % make -C contrib/remote-hg tests
The only caveat is that you need 'python' in your $PATH.
Changes since v4:
 * Add new simple biridectional tests (no need for hg-git)
 * Move tests to contrib directory
 * Add dependency checks to the tests
 * Trivial fixes
Changes since v3:
 * New extensive tests
 * Add compatibility mode with hg-git
 * Added support for boomkars
 * Add mercurial information to the git msg (branch, renames, extra, etc.)
Changes since v2:
 * Added support for pushing
 * Tests copied from original remote-hg
 * Custom default -> master renames removed
 * Code reorganized
Changes since v1:
 * Improved documentation
 * Use more common 'python' binary
 * Warn, don't barf when a branch has multiple heads
 * Fixed marks to fetch after cloned
 * Support for cloning/pulling remote repositories
 * Use a more appropriate internal directory (e.g. .git/hg/origin)
 * Fixes for python3
Felipe Contreras (14):
  Add new remote-hg transport helper
  remote-hg: add support for bookmarks
  remote-hg: add support for pushing
  remote-hg: add support for remote pushing
  remote-hg: add support to push URLs
  remote-hg: make sure the encoding is correct
  remote-hg: match hg merge behavior
  remote-hg: add support for hg-git compat mode
  remote-hg: add compat for hg-git author fixes
  remote-hg: fake bookmark when there's none
  remote-hg: add support for fake remote
  remote-hg: add biridectional tests
  remote-hg: add tests to compare with hg-git
  remote-hg: add extra author test
 contrib/remote-hg/Makefile       |  13 +
 contrib/remote-hg/git-remote-hg  | 773 +++++++++++++++++++++++++++++++++++++++
 contrib/remote-hg/test-hg-git.sh | 464 +++++++++++++++++++++++
 contrib/remote-hg/test.sh        | 241 ++++++++++++
 4 files changed, 1491 insertions(+)
 create mode 100644 contrib/remote-hg/Makefile
 create mode 100755 contrib/remote-hg/git-remote-hg
 create mode 100755 contrib/remote-hg/test-hg-git.sh
 create mode 100755 contrib/remote-hg/test.sh
-- 
1.8.0
Next: Felipe Contreras
Message 1 of 26 in “New remote-hg helper”
  1. 00/14 New remote-hg helperFelipe Contreras, Oct 30, 2012
  2. 01/14 Add new remote-hg transport helperFelipe Contreras, Oct 30, 2012
  3. 02/14 remote-hg: add support for bookmarksFelipe Contreras, Oct 30, 2012
  4. 03/14 remote-hg: add support for pushingFelipe Contreras, Oct 30, 2012
  5. 04/14 remote-hg: add support for remote pushingFelipe Contreras, Oct 30, 2012
  6. 05/14 remote-hg: add support to push URLsFelipe Contreras, Oct 30, 2012
  7. 06/14 remote-hg: make sure the encoding is correctFelipe Contreras, Oct 30, 2012
  8. 07/14 remote-hg: match hg merge behaviorFelipe Contreras, Oct 30, 2012
  9. 08/14 remote-hg: add support for hg-git compat modeFelipe Contreras, Oct 30, 2012
  10. 09/14 remote-hg: add compat for hg-git author fixesFelipe Contreras, Oct 30, 2012
  11. 10/14 remote-hg: fake bookmark when there's noneFelipe Contreras, Oct 30, 2012
  12. 11/14 remote-hg: add support for fake remoteFelipe Contreras, Oct 30, 2012
  13. 12/14 remote-hg: add biridectional testsFelipe Contreras, Oct 30, 2012
  14. 13/14 remote-hg: add tests to compare with hg-gitFelipe Contreras, Oct 30, 2012
  15. 14/14 remote-hg: add extra author testFelipe Contreras, Oct 30, 2012
  16. Chris WebbOct 30, 2012
  17. Chris WebbOct 30, 2012
  18. Felipe ContrerasOct 30, 2012
  19. Chris WebbOct 30, 2012
  20. Chris WebbOct 30, 2012
  21. Felipe ContrerasOct 30, 2012
  22. Felipe ContrerasNov 1, 2012
  23. Chris WebbNov 11, 2012
  24. Felipe ContrerasNov 13, 2012
  25. Johannes SchindelinOct 30, 2012
  26. Felipe ContrerasOct 30, 2012

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.