1

メインの 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メインリポジトリのグローバル hgrc に配置されたインプロセスの pretxnchangegroup フックです。

Mercurial を使い始めたばかりで、これは私が書いた最初の大きなフック関数です。

4

0 に答える 0