我正在使用MercurialApi推送到远程仓库。
u = ui.ui()
repo = hg.repository(u, path)
commands.commit(u, repo, message=message)
commands.push(u, repo)
这个块给了我一个错误:
repository default-push not found
但我在 repo 的 .hg/hgrc 中有默认设置。然而我需要手动将它传递给 ui:
import configparser, codecs
config = configparser.ConfigParser()
hgrc = os.path.join(path, '.hg/hgrc')
with codecs.open(hgrc, 'r', 'utf-8') as f:
try:
config.read_file(f)
except Exception as e:
raise CommitToRepositoryException(str(e))
default_path = config.get('paths', 'default')
u = ui.ui()
u.setconfig('paths', 'default', default_path)
repo = hg.repository(u, path)
commands.commit(u, repo, message=message)
commands.push(u, repo)
这么多的代码应该可以正常工作。知道为什么 ui 对象没有正确设置吗?