py3: convert parts of undo.py to specify utf-8

Summary: This makes hg pull make more progress.

Reviewed By: mitrandir77

Differential Revision: D19630124

fbshipit-source-id: 6e8d6bd441353ffbf87076addd2774d5e09dd24a
This commit is contained in:
Durham Goode 2020-01-29 16:40:08 -08:00 committed by Facebook Github Bot
parent c642e72b3e
commit 13b96565e5

View File

@ -38,6 +38,7 @@ from edenscm.mercurial import (
) )
from edenscm.mercurial.i18n import _ from edenscm.mercurial.i18n import _
from edenscm.mercurial.node import bin, hex, nullid, short from edenscm.mercurial.node import bin, hex, nullid, short
from edenscm.mercurial.pycompat import decodeutf8, encodeutf8
if not pycompat.iswindows: if not pycompat.iswindows:
@ -268,7 +269,7 @@ def writelog(repo, tr, name, revstring):
if tr is None: if tr is None:
raise error.ProgrammingError raise error.ProgrammingError
rlog = _getrevlog(repo, name) rlog = _getrevlog(repo, name)
node = rlog.addrevision(revstring, tr, 1, nullid, nullid) node = rlog.addrevision(encodeutf8(revstring), tr, 1, nullid, nullid)
return hex(node) return hex(node)
@ -325,7 +326,8 @@ def _logindex(repo, tr, nodes):
def _logundoredoindex(repo, reverseindex, branch=""): def _logundoredoindex(repo, reverseindex, branch=""):
rlog = _getrevlog(repo, "index.i") rlog = _getrevlog(repo, "index.i")
hexnode = hex(rlog.node(_invertindex(rlog, reverseindex))) hexnode = hex(rlog.node(_invertindex(rlog, reverseindex)))
return repo.localvfs.write("undolog/redonode", str(hexnode) + "\0" + branch) body = str(hexnode) + "\0" + branch
return repo.localvfs.writeutf8("undolog/redonode", body)
def _delundoredo(repo): def _delundoredo(repo):
@ -337,9 +339,9 @@ def _recordnewgap(repo, absoluteindex=None):
path = "undolog" + "/" + "gap" path = "undolog" + "/" + "gap"
if absoluteindex is None: if absoluteindex is None:
rlog = _getrevlog(repo, "index.i") rlog = _getrevlog(repo, "index.i")
repo.localvfs.write(path, str(len(rlog) - 1)) repo.localvfs.writeutf8(path, str(len(rlog) - 1))
else: else:
repo.localvfs.write(path, str(absoluteindex)) repo.localvfs.writeutf8(path, str(absoluteindex))
# Read # Read
@ -353,7 +355,7 @@ def _readindex(repo, reverseindex, prefetchedrevlog=None):
index = _invertindex(rlog, reverseindex) index = _invertindex(rlog, reverseindex)
if index < 0 or index > len(rlog) - 1: if index < 0 or index > len(rlog) - 1:
raise IndexError raise IndexError
chunk = rlog.revision(index) chunk = decodeutf8(rlog.revision(index))
indexdict = {} indexdict = {}
for row in chunk.split("\n"): for row in chunk.split("\n"):
kvpair = row.split(" ", 1) kvpair = row.split(" ", 1)
@ -364,7 +366,7 @@ def _readindex(repo, reverseindex, prefetchedrevlog=None):
def _readnode(repo, filename, hexnode): def _readnode(repo, filename, hexnode):
rlog = _getrevlog(repo, filename) rlog = _getrevlog(repo, filename)
return rlog.revision(bin(hexnode)) return decodeutf8(rlog.revision(bin(hexnode)))
def _logtoscuba(ui, message): def _logtoscuba(ui, message):