hg-git 1.2.0 released

Dan Villiom Podlaski Christiansen danchr at gmail.com
Sat Feb 8 15:25:19 UTC 2025


Hi

I've pushed a new feature release of hg-git to PyPI and Heptapod. Apart 
from dropping support for an unsupported release of Python, this release 
is equivalent to the previous beta.

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

hg-git 1.2.0 (2025-02-08)
=========================

This is a feature release that contains changes all changes from
1.2.0b1, as well as the following change:

* Drop support for Python 3.8.

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


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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xA2ACC81B41CF4E34.asc
Type: application/pgp-keys
Size: 21895 bytes
Desc: OpenPGP public key
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20250208/528c65c3/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <http://lists.mercurial-scm.org/pipermail/mercurial/attachments/20250208/528c65c3/attachment.sig>


More information about the Mercurial mailing list