Mercurial TextAuth插件错误“解析异常:'***无法从C:\ inetpub \ auth导入扩展textauth.file:无效语法(auth,第1行)'”

时间:2012-09-29 16:01:48

标签: eclipse mercurial zend-studio mercurialeclipse

我已将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

2 个答案:

答案 0 :(得分: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]key语法的确如此section.key

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

但是在.hgrc中:

[ui]
username = david

答案 1 :(得分:1)

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

[textauth]
file = C:\inetpub\auth

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

  

textauth

     

控制textauth扩展名行为的部分。

     

支持的参数:

     

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