我有一个主要的 mercurial 存储库和一个远程克隆存储库。在初始克隆之后,我向主仓库添加了一个 pretxnchangegroup 挂钩函数。挂钩函数用于os.environ["REMOTE_USER"]
检索经过身份验证的用户。当我hg push
从之前克隆的远程仓库执行操作时,钩子函数按预期工作。当我尝试新的克隆时出现问题。我收到以下错误
File "/usr/lib/pymodules/python2.6/mercurial/localrepo.py", line 2048, in addchangegroup
url=url, pending=p)
File "/usr/lib/pymodules/python2.6/mercurial/localrepo.py", line 145, in hook
return hook.hook(self.ui, self, name, throw, **args)
File "/usr/lib/pymodules/python2.6/mercurial/hook.py", line 139, in hook
r = _pythonhook(ui, repo, name, hname, hookfn, args, throw) or r
File "/usr/lib/pymodules/python2.6/mercurial/hook.py", line 68, in _pythonhook
r = obj(ui=ui, repo=repo, hooktype=name, **args)
File "/usr/lib/python2.6/pushvalidation.py", line 18, in chkaccess
username = os.environ["REMOTE_USER"]
File "/usr/lib/python2.6/UserDict.py", line 22, in __getitem__
raise KeyError(key)
KeyError: 'REMOTE_USER'
pushvalidation.py
是放置在主 repo 的全局 hgrc 中的进程内 pretxnchangegroup 挂钩。
我刚开始使用 Mercurial,这是我编写的第一个大钩子函数。