[PATCH STABLE BC V4] convert: when converting from Perforce use original local encoding by default

Matt Mackall mpm at selenic.com
Thu Jul 30 18:08:59 CDT 2015


On Tue, 2015-07-28 at 18:44 +0100, Eugene Baranov wrote:
> # HG changeset patch
> # User Eugene Baranov <eug.baranov at gmail.com>
> # Date 1437580631 -3600
> #      Wed Jul 22 16:57:11 2015 +0100
> # Branch stable
> # Node ID 38562df55db33073e9709efb1f567ee877050dcc
> # Parent  3e84f40232c7931dbeca16e563ae8f63ca12cf4d
> convert: when converting from Perforce use original local encoding by default
> 
> On Windows Perforce command line client uses default system locale to encode
> output. Using 'latin_1' causes locale-specific characters to be replaced with
> question marks. With this patch we will use default locale by default whilst
> allowing to specify it explicity with 'convert.p4.encoding' config option.
> 
> This is a potentially breaking change for any scripts relying on output treated
> as in 'latin_1' encoding.
> 
> Also because hgext.convert.convcmd overwrites detected default system locale
> with UTF-8 we had to introduce an import cycle in hgext.convert.p4 to retrieve
> originally detected encoding from hgext.convert.convcmd.

I've modified this to avoid the import cycle issue by delaying the
cyclic import to __init__. Queued for stable, thanks.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial-devel mailing list