mercurial/lock.py
changeset 36640 c77c925987d7
parent 36319 c303eda316be
child 36642 f6efb3c08c19
--- a/mercurial/lock.py	Sat Mar 03 09:19:34 2018 -0500
+++ b/mercurial/lock.py	Sat Mar 03 10:08:13 2018 -0500
@@ -198,9 +198,10 @@
                         return
                     locker = self._testlock(locker)
                     if locker is not None:
-                        raise error.LockHeld(errno.EAGAIN,
-                                             self.vfs.join(self.f), self.desc,
-                                             locker)
+                        raise error.LockHeld(
+                            errno.EAGAIN,
+                            encoding.strfromlocal(self.vfs.join(self.f)),
+                            self.desc, locker)
                 else:
                     raise error.LockUnavailable(why.errno, why.strerror,
                                                 why.filename, self.desc)
@@ -209,7 +210,8 @@
             # use empty locker to mean "busy for frequent lock/unlock
             # by many processes"
             raise error.LockHeld(errno.EAGAIN,
-                                 self.vfs.join(self.f), self.desc, "")
+                                 encoding.strfromlocal(self.vfs.join(self.f)),
+                                 self.desc, "")
 
     def _readlock(self):
         """read lock and return its value