Пользователи Emacs не могут сделать коммит через базар на панель запуска - PullRequest
1 голос
/ 25 января 2010

Все пользователи emacs на нашем сервере разработки не могут сделать базарный коммит в нашу ветку разработки на панели запуска. Они получают это сообщение:

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

Я дважды проверил все разрешения, и у каждого свои ключи настроены правильно. Я пользуюсь vim и у меня нет проблем.

Есть еще идеи?

Спасибо, Джен

Ответы [ 3 ]

1 голос
/ 25 января 2010

Эта ошибка не имеет отношения к серверу Launchpad.

Ошибка означает, что bzr не может получить блокировку файловой системы для «извлекаемой» части дерева. «Оформить заказ» в bzr представляет извлеченные исходные файлы и связанные метаданные. Это то, что позволяет запускать команды "bzr st", "bzr add" и аналогичные.

Поскольку вы описываете проблему как специфичную для emacs, возможно, что-то не так с режимом emacs, который вы используете для вождения bzr. Это VC или DVC?

Как правило, VC не делает то, что вы ожидаете, потому что он предназначен для централизованных систем контроля версий, таких как RCS, SCCS, CVS и Subversion. Обязательно изучите использование DVC.

Как бы вы это ни сформулировали, вы предлагаете всем разработчикам работать над одной веткой на общем сервере разработки. Это довольно необычный способ использования распределенного контроля версий, вы должны убедиться, что каталог .bzr / checkout имеет соответствующие разрешения. Для вас это будет что-то вроде rwxrwtr-x. Обратите внимание на бит setgid в каталоге.

Лучшее место для решения таких проблем - канал #bazaar на irc.freenode.net. Для диагностики и решения таких проблем часто требуется несколько циклов, и IRC является более подходящей средой, чем стекопоток.

0 голосов
/ 25 января 2010

Я с DDAA по этому вопросу. Это, безусловно, проблема с режимом emacs, который они используют для своих проверок. Предположительно у них нет проблем с использованием интерфейса командной строки для bzr, верно?

Исходный код для режимов обычно находится в каталоге установки Emacs в подкаталогах lisp или site-lisp. Тем не менее, он написан на специальном языке elisp, поэтому его трудно читать, если вы не знаете elisp (или хотя бы lisp в целом). Но если вы опубликуете, какой именно режим они используют, какую версию и, возможно, какую версию emacs, возможно, некоторые читают, кто может рассказать вам об известных проблемах и еще много чего.

0 голосов
/ 25 января 2010

Найдите какой-нибудь файл .lock. Иногда они не очищаются после сбоя, а ресурс остается заблокированным. Может быть, плагин Emacs для базара создал его, и поэтому vim не волнует.

...