1

I am trying to use cvs annotate. This is the what I run:

cvs -d /mycvs/cvsroot/ annotate "projects/dg/SomeClass.java"

However, I get the following error:

cvs annotate: failed to create lock directory for `/mycvs/cvsroot/projects/dg^M' (/mycvs/cvsroot/projects/dg^M/#cvs.lock): No such file or directory
cvs annotate: failed to obtain dir lock in repository `/mycvs/cvsroot/projects/dg^M'
cvs [annotate aborted]: read lock failed - giving up

What does this mean? How can I overcome this problem? Could it be related to the ^M character I see at the error message?

When I use eclipse to do the annotation it works. I checked and the directory `/mycvs/cvsroot/projects/dg' exists. The error also occurs when I'm logged in as root, so probably it's not a permissions issue either.

I am using CentOS

4

4 回答 4

1

From your description, I would guess that you've got it right with the stray ^M. What OS are you using? If Windows, are you using cygwin? I see you're using direct filesystem access to the repository. Might you consider setting up a server access mechanism like pserver to see if that helps?

于 2008-10-10T10:55:33.010 回答
0

我也遇到了 cygwin 的这个问题。事实上,我可以使用 eclipse cvs 工具对 pserver 进行身份验证。但是,cygwin ......不是那么多。

以下是一些可能相关的帖子:http: //www.sat-industry.net/forums/dreambox-development/19893-checkout-failed-create-lock-directory.html

总结:添加环境变量:CVS_RSH=ssh

http://www.mooreds.com/wordpress/archives/000234 摘要:您可能对 CVS 服务器的权限有配置问题。

顺便说一句,这些都不适合我。

于 2009-03-10T14:43:52.527 回答
0

您似乎正在使用 CygWin 进行 CVS,但使用使用 Windows 行结束的文本编辑器触及了 CVS/Root 文件,或者使用使用 Windows 行结束的 CVS 客户端进行了初始签出。尽管您可以将客户端混合和匹配到同一个存储库,但有时将客户端(CygWin/WinCVS)与同一个工作副本混合和匹配是不好的。

于 2009-12-21T22:10:35.597 回答
0

您可能想尝试使用“本地”存储库:

cvs -d :local:/mycvs/cvsroot/ 注释“projects/dg/SomeClass.java”

看看是否能解决问题。

我经常使用 cygwin 和 cvs,虽然有时会收到以下错误消息:“cvs [checkout aborted]: cannot rename file CVS/Entries.Backup to CVS/Entries: Permission denied” 我只是重新运行结帐,看起来还不错. 我调查了这个错误,它与 Windows 中的文件系统争用有关(防病毒软件,IIRC)。

于 2009-07-29T20:25:43.767 回答