hg convert --authors wrongUsers< - 文件的格式是什么?

时间:2011-04-06 16:31:08

标签: python mercurial

相关here。说明here指导示例:

john=John Smith <John.Smith@someplace.net>
tom=Tom Johnson <Tom.Johnson@bigcity.com>

但它是什么意思?假设我想用"hh <right@gmail.com>"替换"hhh <right@gmail.com>",该行会是什么样的?用户名,映射和文件名是什么意思?我可以从"username mapping filename"找到此部分"convert/__init__.py"

cmdtable = {
    "convert":
        (convert,
         [('A', 'authors', '', _('username mapping filename')),
          ('d', 'dest-type', '', _('destination repository type')),
          ('', 'filemap', '', _('remap file names using contents of file')),
          ('r', 'rev', '', _('import up to target revision REV')),

它创建了一个对象,其中作者存储为dict,convcmd.py第79行:

class converter(object):
    def __init__(self, ui, source, dest, revmapfile, opts):

        self.source = source
        self.dest = dest
        self.ui = ui
        self.opts = opts
        self.commitcache = {}
        self.authors = {}
        self.authorfile = None

它将authorfile中的每一行拆分为"=",但从此开始我失去了它是如何工作的。那么作者修复错误作者的文件是什么意思?如果可以的话,请指出我的源代码行,因为我发现这些文档非常难以理解。

[更新]

我已尝试过该文件的所有选项,但"$ hg status" / "$ hg log --template '{author}\n'"不会更改。我要么在命令"$ hg convert --authors conversionAuthors ."之后做一些奇怪的事情,要么我无法与作者匹配。我怎么知道“完全匹配”?我怎么知道我是否成功了?

1 个答案:

答案 0 :(得分:6)

转化扩展程序使用文字文字替换。

快速实验显示,如果您要替换hh <right@gmail.com>,只需创建包含以下内容的作者地图文件:

hh <right@gmail.com> = hhh <right@gmail.com>

要替换的作者,左侧必须是完全匹配。如果不是完全匹配,则不执行替换。