Hi

I'm pleased to announce two new releases for hg-git. One is a regular compatibility release, and one is an initial beta of 1.2.0. The latter is _quite_ overdue, and I can't say when the final release will be, as it depends on the feedback — it'll be at least a month after a beta with no major issues reported.

And just to be clear: Any feedback is very much appreciated! I've been developing hg-git mostly in my own little sandbox, and I may very well have gotten stuff like option names — and whether they should be enabled by default — wrong. Or I might have written some horribly broken code; who knows? Anyway; please report back!

https://pypi.org/project/hg-git/1.1.4/
https://foss.heptapod.net/mercurial/hg-git/-/releases/1.1.4

https://pypi.org/project/hg-git/1.2.0b1/
https://foss.heptapod.net/mercurial/hg-git/-/releases/1.2.0b1

hg-git 1.1.4 (2024-11-18)
=========================

This is a minor release, focusing on bugs and compatibility.

* Mark Dulwich 0.22.0 as fully supported; the differences are assumed
  intentional for now.
* Mark Mercurial 6.9 as tested and supported.
* Fix tests with Python 3.13.

hg-git 1.2.0b1 (2024-11-18)
===========================

This is a preview of an upcoming feature release that contains changes
to user-facing behaviour.

Changes to behaviour:

* Change the defaults for ``hggit.usephases``; similar to Mercurial,
  remote repositories now default to publishing.

Enhancements:

* Add support for a ``git.blame.ignoreRevsFile`` configuration
  setting, that works similarly to the setting for ``git blame``.
* Add limited and experimental support for including hg-git metadata
  in Mercurial bundles and when pulling or pushing from remote
  Mercurial repositories, see below. (#156)
* ``hg git-cleanup`` now also removes broken Git refs.
* Always pull any annotated tags pointing to any known commits,
  equivalent to passing the ``--tags`` option in Git. Previously, such
  tags would only be pulled when either not using ``--rev`` or
  similar, or when listing the tag explicitly.
* Transparently compress the objects when pushing (or exporting) to
  Git. This is done in background threads, and by default uses up to
  either four of them or the system CPU count, whichever is lower. The
  ``hggit.threads`` configuration option allows adjusting the default.

This release requires Mercurial 6.6, or later, Dulwich 0.21.6 or later
and Python 3.8 or later.

Transferring ``hg-git`` metadata
--------------------------------

As noted, this is experimental, and can be enabled using the following
configuration settings::

  [experimental]
  hg-git-bundle = yes
  hg-git-serve = yes

With these set, pulling or pushing any commit already pushed (or
converted) to Git will also update the mapping remotely, avoiding the
need for converting these changes once more. In addition, Git tags are
also transferred. However, this support is limited, and there is no
synchronisation of later changes. There is no support for reinstating
or synchronising lost or old state, and no support for transferring
tags to old changesets.

The first option enables embedding the metadata using ``hg bundle``
and the second option enables the support with served repositories.



Attachment: OpenPGP_0xA2ACC81B41CF4E34.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

_______________________________________________
Mercurial mailing list
Mercurial@lists.mercurial-scm.org
https://lists.mercurial-scm.org/mailman/listinfo/mercurial

Reply via email to