comparison hgext/convert/convcmd.py @ 5794:4c16020d1172

convert: print commit log message with local encoding correctly.
author Shun-ichi GOTO <shunichi.goto@gmail.com>
date Thu, 03 Jan 2008 06:25:30 +0900
parents b940260c4291
children 851402e53337
comparison
equal deleted inserted replaced
5793:68f5bf9aa582 5794:4c16020d1172
246 for c in t: 246 for c in t:
247 num -= 1 247 num -= 1
248 desc = self.commitcache[c].desc 248 desc = self.commitcache[c].desc
249 if "\n" in desc: 249 if "\n" in desc:
250 desc = desc.splitlines()[0] 250 desc = desc.splitlines()[0]
251 # convert log message to local encoding without using
252 # tolocal() because util._encoding conver() use it as
253 # 'utf-8'
254 desc = desc.decode('utf-8').encode(orig_encoding, 'replace')
251 self.ui.status("%d %s\n" % (num, desc)) 255 self.ui.status("%d %s\n" % (num, desc))
252 self.copy(c) 256 self.copy(c)
253 257
254 tags = self.source.gettags() 258 tags = self.source.gettags()
255 ctags = {} 259 ctags = {}
274 self.dest.after() 278 self.dest.after()
275 finally: 279 finally:
276 self.source.after() 280 self.source.after()
277 self.map.close() 281 self.map.close()
278 282
283 orig_encoding = 'ascii'
284
279 def convert(ui, src, dest=None, revmapfile=None, **opts): 285 def convert(ui, src, dest=None, revmapfile=None, **opts):
286 global orig_encoding
287 orig_encoding = util._encoding
280 util._encoding = 'UTF-8' 288 util._encoding = 'UTF-8'
281 289
282 if not dest: 290 if not dest:
283 dest = hg.defaultdest(src) + "-hg" 291 dest = hg.defaultdest(src) + "-hg"
284 ui.status("assuming destination %s\n" % dest) 292 ui.status("assuming destination %s\n" % dest)