changeset 16761:07741a5d6608

merge with stable
author Matt Mackall <mpm@selenic.com>
date Mon, 21 May 2012 16:35:27 -0500
parents 9a8ab5c47f84 (current diff) ac89a23ca814 (diff)
children 93f8b9565257
files mercurial/context.py mercurial/win32.py
diffstat 2 files changed, 4 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/context.py	Sun May 20 01:28:31 2012 +0200
+++ b/mercurial/context.py	Mon May 21 16:35:27 2012 -0500
@@ -27,6 +27,8 @@
             self._rev = changeid
             self._node = repo.changelog.node(changeid)
             return
+        if isinstance(changeid, long):
+            changeid = str(changeid)
         if changeid == '.':
             self._node = repo.dirstate.p1()
             self._rev = repo.changelog.rev(self._node)
--- a/mercurial/win32.py	Sun May 20 01:28:31 2012 +0200
+++ b/mercurial/win32.py	Mon May 21 16:35:27 2012 -0500
@@ -5,7 +5,6 @@
 # This software may be used and distributed according to the terms of the
 # GNU General Public License version 2 or any later version.
 
-import encoding
 import ctypes, errno, os, struct, subprocess, random
 
 _kernel32 = ctypes.windll.kernel32
@@ -290,8 +289,8 @@
             if res != _ERROR_SUCCESS:
                 continue
             if type.value == _REG_SZ:
-                # never let a Unicode string escape into the wild
-                return encoding.tolocal(buf.value.encode('UTF-8'))
+                # string is in ANSI code page, aka local encoding
+                return buf.value
             elif type.value == _REG_DWORD:
                 fmt = '<L'
                 s = ctypes.string_at(byref(buf), struct.calcsize(fmt))