diff -r bde1185f406c -r 935831597e16 mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Aug 02 19:10:45 2012 +0400 +++ b/mercurial/localrepo.py Wed Aug 15 12:04:50 2012 +0200 @@ -1009,7 +1009,7 @@ util.rename(self.join('undo.dirstate'), self.join('dirstate')) try: branch = self.opener.read('undo.branch') - self.dirstate.setbranch(branch) + self.dirstate.setbranch(encoding.tolocal(branch)) except IOError: ui.warn(_('named branch could not be reset: ' 'current branch is still \'%s\'\n')