0

我正在尝试使用以下目标通过 ant 进行 cvs 登录。这在 Windows 下运行良好,但是当我在我的 ubuntu 机器上运行它时,我不断收到 authorization_failed 错误。

<target name="cvs_login" unless="cvspass_exists">
   <cvspass cvsroot="${env.CVSROOT}" password="" passfile=".cvspass" />
</target>

我在 /etc/profile 中设置了 $CVSROOT 变量。

:pserver:<uname>:<pwd>@<server>:/ABC

我错过了什么吗?

我不断收到此错误。

cvs 导出:授权失败:服务器拒绝用户访问 /ABC

任何帮助,将不胜感激。

4

2 回答 2

2

很抱歉,我认为我没有以正确的方式提出我的问题。蚂蚁任务绝对没问题。

我从命令行尝试了简单的 cvs 登录,它仍然会询问我的密码。那时我意识到我的 $CVSROOT 环境变量被忽略了,而 cvs 正在使用 CVS/Root 文件中的 pserver 设置。该文件缺少密码,因此我的 ant 任务无法登录。

在互联网上进行了大量的谷歌搜索后,我发现 CVS/Root 总是优先于 $CVSROOT。为了解决这个问题,我必须在我的 ~/.cvsrc 文件中创建以下条目。

cvs -d :pserver:<uname>:<pwd>@<server>:/ABC

最后,我的蚂蚁任务成功了!!经过三天的拉头发,我终于找到了解决方案。希望这可以帮助某人。

于 2013-08-09T15:35:15.457 回答
1

您可以从 Ubuntu 机器上的命令行登录到您的 CVS 应用程序吗?

我不会为 CVS Ant 任务而烦恼。如果您查看源代码,您会看到所有 cvs 任务都在直接执行cvs命令行命令。如果您没有安装 CVS 命令行,CVS 任务将无法工作。它所做的只是给你的开发任务增加了一层额外的伤害。

相反,只需使用<exec/>任务调用 CVS 命令。这将使您对正在发生的事情有更多的了解。

于 2013-08-09T14:01:27.967 回答