GNU bug report logs - #38824
[PATCH] gnu: mercurial: Update to 5.2.1.

Previous Next

Package: guix-patches;

Reported by: Roel Janssen <roel <at> gnu.org>

Date: Mon, 30 Dec 2019 21:57:01 UTC

Severity: normal

Tags: patch

Done: Brett Gilio <brettg <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "LaFreniere\, Joseph" <joseph <at> lafreniere.xyz>
To: 38824 <at> debbugs.gnu.org
Cc: brettg <at> gnu.org
Subject: [bug#38824] [PATCH] gnu: mercurial: Update to 5.2.1.
Date: Sun, 05 Jan 2020 00:15:44 -0600
[Message part 1 (text/plain, inline)]
On Fri, 2020-01-03 at 17:02 -0600, Brett Gilio wrote:
> We do have a python-nose package. Is this different from the 
> nose unit mentioned in the rationale for disabling the tests?

I can confirm Roel Janssen's guess that python-nose is the 
relevant package and that it provides the nose unit test runner.

Roel Janssen <roel <at> gnu.org> writes:
> I don't know much about Python, so I'm not sure whether the test 
> suite just hasn't been made Python-3-compatible, or whether it's 
> something else, and whether this has always been a problem, or 
> whether it was introduced by this update.

From https://www.mercurial-scm.org/wiki/Python3 as of this 
writing:
> Mercurial 5.2 is the first release that officially has support 
> for Python 3. Supported Python 3 versions are 3.5, 3.6, and 
> 3.7. Python 3.8 mostly works, but there are a few known 
> incompatibilities. Mercurial with Python 3 on Windows is not yet 
> widely tested and there are some known issues.

> It is the project policy for Mercurial and its core extensions 
> to be compatible with Python 3. Over 99% of tests pass with 
> Python 3 and test regressions are treated seriously.

> Most used 3rd party extensions like evolve and topic have been 
> ported to Python 3. There are some which have not yet been 
> ported.

> Assuming Windows porting proceeds well, it is expected we will 
> drop support for Python 2.7 sometime in 2020.

The output I obtained from running `python3 -m nose` in the 
repository's root is attached.  Looking at 
e.g. mercurial/pycompat.py shows that Mercurial's devs are indeed 
aware of these Python3 compatibility issues:

> # TODO: .buffer might not exist if std streams were replaced; 
> we'll need
> # a silly wrapper to make a bytes stream backed by a unicode 
> one.

I think that for now the options are to
1. continue using Python2 for Mercurial;
2. use Python3 but disable all tests, as Janssen's patch suggests;
3. use Python3 but disable the known-failing tests; or
4. hold off on updating the package until upstream supports 
Python3 across its entire test suite.

Of those three, I am most in favor of the third option.  I would 
be glad to submit a patch that implements it if there is agreement 
to take that direction.

--
Joseph LaFreniere
[test-output.txt (text/plain, attachment)]

This bug report was last modified 5 years and 128 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.