hg-git 1.1.4 & 1.2.0b1 released

PIERRE AUGIER pierre.augier at univ-grenoble-alpes.fr
Tue Nov 19 11:17:34 UTC 2024


Thanks a lot Dan for these releases! I'm glad that hggit.usephases becomes the default with hg-git 1.2.0. Commits in master (or main) will be public which is very reasonable in most cases. I just see a consequence that to be able to modify commits, one has to use a dedicated git branch for a feature even when pushing to a personal fork. I always do that but it is not strictly necessary.

Since I can afford the risk, I'm going to use

$ hg version -v
Mercurial Distributed SCM (version 6.9rc1)

Enabled extensions:

  absorb    internal  
  churn     internal  
  evolve    external  11.1.5
  extdiff   internal  
  graphlog  internal  
  hggit     external  1.2.0b1 (dulwich 0.21.7)
  rebase    internal  
  topic     external  1.1.5

Note that I updated Mercurial with 

pipx upgrade mercurial --pip-args=--pre

(No compilation since it installs a wheel!)

and hg-git and hg-evolve with :

pipx inject mercurial hg-evolve hg-git --pip-args="--pre -U" --force


----- Mail original -----
> De: "Dan Villiom Podlaski Christiansen" <danchr at gmail.com>
> À: "mercurial" <mercurial at mercurial-scm.org>, "hg-git" <hg-git at googlegroups.com>
> Envoyé: Lundi 18 Novembre 2024 19:32:08
> Objet: hg-git 1.1.4 & 1.2.0b1 released

> 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.
> 
> 
> 
> 
> _______________________________________________
> Mercurial mailing list
> Mercurial at lists.mercurial-scm.org
> https://lists.mercurial-scm.org/mailman/listinfo/mercurial


More information about the Mercurial mailing list