[PATCH 2 of 3] convert: fix relative import of stdlib module in subversion
Pierre-Yves David
pierre-yves.david at ens-lyon.org
Fri Mar 11 09:13:54 EST 2016
On 03/11/2016 01:00 PM, FUJIWARA Katsunori wrote:
> # HG changeset patch
> # User FUJIWARA Katsunori <foozy at lares.dti.ne.jp>
> # Date 1457700944 -32400
> # Fri Mar 11 21:55:44 2016 +0900
> # Node ID cc86ef8d2f0b7ebaf7b4de4692b8d4cfefe36f04
> # Parent 59aa1b8645de514bf3f5da9e0c09e94321b92351
> convert: fix relative import of stdlib module in subversion
>
> Before this patch, import-checker reports "relative import of stdlib
> module" error for importing Pool and SubversionException from svn.core
> in subversion.py.
>
> To fix this relative import of stdlib module, this patch adds prefix
> 'svn.core.' to Pool and SubversionException in source.
>
> These 'svn.core.' relative accessing shouldn't cause performance
> impact, because there are much more code paths accessing to
> 'svn.core.' relative properties.
>
> BTW, in transport.py, this error is avoided by assignment below.
>
> SubversionException = svn.core.SubversionException
>
> But this can't be used in subversion.py case, because:
>
> - such assignment in indented code block causes "don't use camelcase
> in identifiers" error of check-code.py
>
> - but it should be placed in indented block, because svn is None at
> failure of importing subversion python binding libraries (=
> examination of 'svn' is needed)
>
> diff --git a/hgext/convert/subversion.py b/hgext/convert/subversion.py
> --- a/hgext/convert/subversion.py
> +++ b/hgext/convert/subversion.py
> @@ -43,10 +43,6 @@ NoRepo = common.NoRepo
> # these bindings.
>
> try:
> - from svn.core import (
> - Pool,
> - SubversionException,
> - )
> import svn
> import svn.client
> import svn.core
this was broken then the module was missing because no actual import
were triggered, so no ImportError were raised.
I fixed it in flight.
Cheers.
--
Pierre-Yves David
More information about the Mercurial-devel
mailing list