我们的开发服务器上的所有emacs用户都无法在启动板上对我们的开发分支进行集市提交。他们收到这条消息:
bzr: ERROR: Cannot lock /.. /.bzr/checkout/dirstate: [Errno 13] Permission denied: u'/../.bzr/checkout/dirstate'
我已经仔细检查了所有权限,并且每个人都正确设置了密钥。我正在使用vim,没有任何问题。
还有其他想法吗?
谢谢,Jen
答案 0 :(得分:1)
此错误看起来与Launchpad的服务器端无关。
错误意味着bzr无法获取树的“checkout”部分的文件系统锁。 bzr中的“checkout”表示签出的源文件和关联的元数据。这就是运行“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更合适的媒介。
答案 1 :(得分:0)
查找某种.lock文件。有时它们在崩溃后不会被清理并且资源保持锁定状态。也许集市的Emacs插件创造了它,这就是为什么vim不关心。
答案 2 :(得分:0)
我和ddaa在一起。对于他们用来结帐的emacs模式来说,这几乎是一个问题。据推测,使用bzr的命令行界面没问题,对吗?
模式的源代码通常位于lisp或site-lisp子目录中的Emacs安装目录下。但是,它是用特殊的elisp语言编写的,所以如果你不了解elisp(或者至少是一般的lisp),那就很难读。但是如果你准确地发布他们正在使用什么模式,什么版本,也许是什么版本的emacs,可能会有一些人阅读谁可以启发你有关已知问题和诸如此类的东西。