1

All of the emacs users on our development server are unable to do a bazaar commit to our development branch on launchpad. They receive this message:

bzr: ERROR: Cannot lock /.. /.bzr/checkout/dirstate: [Errno 13] Permission denied: u'/../.bzr/checkout/dirstate'

I've double-checked all of the permissions and everyone has their keys set up correctly. I'm using vim and have no problems.

Any other ideas?

Thanks, Jen

4

3 回答 3

1

此错误看起来与 Launchpad 的服务器端没有任何关系。

该错误意味着 bzr 未能为树的“签出”部分获取文件系统锁。bzr 中的“签出”代表签出的源文件和相关的元数据。这使得运行“bzr st”、“bzr add”和类似命令成为可能。

由于您将问题描述为特定于 emacs,因此您用于驱动 bzr 的 emacs 模式可能有问题。是VC还是DVC?

一般来说,VC 不会做你所期望的,因为它是为集中式版本控制系统设计的,例如 RCS、SCCS、CVS 和 Subversion。请务必调查使用 DVC。

用你的说法,你建议所有开发人员都在共享开发服务器上的同一个分支上工作。这是使用分布式版本控制的一种非常不寻常的方式,您应该检查 .bzr/checkout 目录是否具有适当的权限。对你来说,这就像 rwxrwtr-x。注意目录上的 setgid 位。

解决此类问题的最佳地点是 irc.freenode.net 上的#bazaar 频道。诊断和解决此类问题通常需要多次往返,而 IRC 是比 stackoverflow 更合适的媒介。

于 2010-01-25T20:11:54.873 回答
0

寻找某种 .lock 文件。有时它们在崩溃后没有得到清理,并且资源保持锁定状态。也许市场的 Emacs 插件创建了它,这就是 vim 不在乎的原因。

于 2010-01-25T19:55:35.277 回答
0

我同意 ddaa 的意见。这几乎肯定是他们用于结帐的 emacs 模式的问题。大概他们使用 bzr 的命令行界面没有问题,对吧?

模式的源代码通常位于 Emacs 安装目录的 lisp 或 site-lisp 子目录中。但是,它是用一种特殊的 elisp 语言编写的,因此如果您不了解 elisp(或至少一般意义上的 lisp),则很难阅读。但是,如果您准确地发布他们正在使用的模式、版本以及可能的 emacs 版本,那么可能会有一些阅读的人可以启发您了解已知问题等等。

于 2010-01-25T20:38:03.760 回答