comparison util.py @ 249:a065bf61caa1

encoding: fix encoding swap to work with demandimport enabled (#67)
author Daniel Tang <dytang@cs.purdue.edu>
date Fri, 10 Apr 2009 15:43:47 -0500
parents 330f0b15d417
children 79349fd04836
comparison
equal deleted inserted replaced
248:a9134fa28d15 249:a065bf61caa1
2 import shutil 2 import shutil
3 3
4 from mercurial import hg 4 from mercurial import hg
5 from mercurial import node 5 from mercurial import node
6 from mercurial import util 6 from mercurial import util
7 try:
8 from mercurial import encoding
9 except ImportError:
10 encoding = None
11 7
12 svn_subcommands = { } 8 svn_subcommands = { }
13 def register_subcommand(name): 9 def register_subcommand(name):
14 def inner(fn): 10 def inner(fn):
15 svn_subcommands[name] = fn 11 svn_subcommands[name] = fn
141 ui.note(' committed to "%s" as %s\n' % ((b or 'default'), node.short(h))) 137 ui.note(' committed to "%s" as %s\n' % ((b or 'default'), node.short(h)))
142 138
143 139
144 def swap_out_encoding(new_encoding="UTF-8"): 140 def swap_out_encoding(new_encoding="UTF-8"):
145 """ Utility for mercurial incompatibility changes, can be removed after 1.3""" 141 """ Utility for mercurial incompatibility changes, can be removed after 1.3"""
146 if encoding is None: 142 try:
143 from mercurial import encoding
144 old = encoding.encoding
145 encoding.encoding = new_encoding
146 except ImportError:
147 old = util._encoding 147 old = util._encoding
148 util._encoding = new_encoding 148 util._encoding = new_encoding
149 else:
150 old = encoding.encoding
151 encoding.encoding = new_encoding
152 return old 149 return old