2013-06-20 4 views
0

Сегодня я попытался внести изменения в наш общий репозиторий, размещенный на apache (2.2.x), работающем с webdav (через HTTPS). Репозиторий в каталоге dav является клоном моего рабочего каталога. Опция NoUpdate включена. Оба репозитория инициируются.не может вносить изменения в репозиторий на webDAV

Для перемещения я сопоставил каталог dav-каталог/репозиторию как сетевой диск и установил репозиторий для нажатия на «y: /» Когда я пытаюсь нажать из Workbench, выдается исключение «aborted, ret 255».

% hg --repository C:\wamp\www\ommon push y: 
pushing to y: 
searching for changes 
abort: Y:\.hg/store/journal: The system cannot find the file specified 
[command returned code 255 Thu Jun 20 12:08:28 2013] 

Раздвигая из командной строки бросает:

pushing to y:\ 
searching for changes 
abort: y:\.hg/store/journal: The system cannot find the file specified 
Exception AttributeError: "'transaction' object has no attribute 'file'" in 
<bound method transaction.__del__ of <mercurial.transaction.transaction object>> 

Я попытался изменить путь к каталогу, так как боковые местами разделители смотрят странно для меня. Но это не удалось.

Дополнительная информация: Я не использую hgweb или любую версию cgi-script.

EDIT Несколько записей Google в отношении вопроса оставил меня с идеей, что толкает изменения в хранилище, предоставляемом Webdav не вполне возможно. Далее я должен использовать hgWeb для решения этого.

Но почему я должен? Моя идея в том, что webDAV способен писать. Так как i сопоставил каталог как сетевой диск - mercurial должен иметь возможность вносить изменения на веб-сервер, аналогично тому, как это делается в локальном каталоге.

Может кто-нибудь подтвердить это?

ответ

0

Поддержка Windows WebDAV может быть неустойчивой. Очень возможно, что из-за вероятных продвинутых операций файловой системы, связанных с Mercurial, ОС делает что-то неправильно или что-то, с чем не справляется mod_dav от apache.

Возможно также, что что-то более простое, так как apache блокирует доступ к путям, начиная с ..

Возможно, вы найдете что-то в своем журнале apache, но я бы порекомендовал не делать этого и вместо этого использовать настоящий сервер меркурий.

+1

, спасибо за ваше объяснение. Теперь я буду использовать hgweb. –

0

HTTP-репозитории Mercurial в НИКОГДА говорить о WebDAV

Вы должны использовать любой Mercurial с поддержкой веб-интерфейс для связи с репо или подключить WebDAV-диск в качестве локального диска и доступа к хранилищу на нем в качестве хранилища на локальном FS

+0

Я сделал именно то, что вы предлагаете как второй путь к успеху. Но это не сработает. Честно говоря, я не могу объяснить, что для меня, поскольку среда, созданная сетевым диском, должна быть наиболее вероятна локальному FS –

+0

@Ben - «abort: y: \. Hg/store/journal: система не может найти указанный файл» - У вас действительно есть репозиторий на Y-диске? –

+0

Да, репозиторий находится в webdav, и я сопоставил сетевой диск с буквой y. «https://example.com/dav/» - это полный путь –

Смежные вопросы