0

我已将 TextAuth 插件安装到 Mercurial 以添加用于拉/推代码的基本身份验证。

通过 Tortoise HG Mercurial 界面,我收到以下错误,但操作继续并且身份验证被接受并正常工作,即,如果我更改名为“auth”的文件中的用户名,则不再接受旧的用户名,等等。

在我开始将 Zend Studio 与 Mercurial Eclipse 插件一起使用之前,这不是问题,Mercurial 会抛出相同的错误,但 Zend/Eclipse 不会继续,就像 Tortoise HG 工作台一样,所以它完全停止工作......

任何帮助都会很棒,谢谢。

"Parse exception: '*** failed to import extension textauth.file from C:\inetpub\auth: invalid syntax (auth, line 1)'"

编辑:这是纯文本文件的内容。它是没有 BOM 的 UTF-8。

david:sha512:34306d47f380e8c4:3e1abe5b38db2b56b997adca78030a1a085dcf2961413820813b9972b3d91c676921419b5b2e3953571e35a4efd8f68e95e9880b2b54756ab5c7256fb6c6cdaf
steven:sha512:589c75e34563ec0c:ba097345634e7ae5d1b577b2093563c1ed06af78e90e8197116140c22dd14745d6aaebaf05bb005a4e916114fec086b95b2d6eab1286be94c2d91f7a5d4426c
dev1:sha512:dcdb2734655344b:78531b07d09345634ab2265fc5acc3b2a92386f2ab2168ce559f6db5bf9da034fde50cbec128ebb89a210fcf918582ed366de1f0998e6c570a1ce498429a4ad
dev2:sha512:c8fc3a3456d9470:6efca993620138644d203695ced07f6aaddb0d2752fd12970639012f66a5c07b210564b9046d818bfcbc978aff5151400269b9a816ed9279a929cb46aa4a53
dev3:sha512:d26466ec818cd62a:ebc0ff463546e3456aff6e8828bbc8ff812990ddaa4f112d3d932d943598e7b27c6547c14b3786b2ef3fe955eb01e12c67aaea175bc011ae0b6eb1fa4f093ece

密码有乱码,所以如果你尝试它但它不起作用,这就是原因,但它们是由 authedit 命令生成的,并且在身份验证期间被接受。

这是 hgrc 文件的内容,其中包含明显的混淆/更改内容。

# Generated by TortoiseHg


[web]
push_ssl = False
allow_push = *
[ui]
username = david
[paths]
repo = http://domain.com/
Live = C:\inetpub\domain.com

[auth]
repo.schemes = http
[auth]
repo.username = david
repo.password = passstring

[extensions]
textauth = C:\inetpub\textauth.py
textauth.file = C:\inetpub\auth

[textauth]
file = C:\inetpub\auth

[tortoisehg]
postpull = update
autoresolve = True
4

2 回答 2

3

我在网上找不到对 textauth 插件的参考,但我怀疑这是你的问题:

[extensions]
textauth = C:\inetpub\textauth.py
textauth.file = C:\inetpub\auth

这就是说“加载两个单独的扩展,一个称为 textauth,一个(非法)称为 textauth.file。

你要这个:

[extensions]
textauth = C:\inetpub\textauth.py

[textauth]
file = C:\inetpub\auth

因此,只需删除该部分中的textauth.file =[extensions]

这是一个容易犯的错误,因为当在命令行中给出时,[section]andkey语法确实变成了section.key这样:

hg --config ui.username=david ...

但在 .hgrc 中是:

[ui]
username = david
于 2012-10-02T03:08:58.217 回答
1

下面的所有内容都[extensions]被视为插件。C:\inetpub\auth 文件不是插件,它是插件使用的文件。你应该只有(当然除了 textauth.py 扩展):

[textauth]
file = C:\inetpub\auth

这部分文档是解释的地方,如果他们给出一个例子会很好:

文本认证

控制 textauth 扩展行为的部分。

支持的论点:

file 包含身份验证信息的文件的路径。该文件的内容应如下所述。

于 2012-10-02T04:46:58.740 回答