无法将更改推送到webDAV上的存储库



今天我尝试将更改推送到运行webdav的apache(2.2.x)上的共享存储库(通过HTTPS)。david -目录中的存储库是我的工作目录的克隆。启用了Option nouupdate。

为了继续,我将dev -directory/repository映射为网络驱动器,并将repository设置为push到"y:/"当我尝试从工作台推出异常"aborted, ret 255"被抛出。

% hg --repository C:wampwwwommon 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]

从命令行push抛出:

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>>

我试图将路径更改为directory,因为侧交换分隔符对我来说看起来很奇怪。但是没有成功。

进一步信息:我不使用hgweb或任何基于cgi脚本的版本。

EDIT关于这个问题的多个google条目让我想到,将更改推送到webDAV提供的存储库是不完全可能的。此外,我必须使用hgWeb来解决这个问题。

但是为什么我必须这样做呢?我的想法是webDAV是有写作能力的。由于我将目录映射为网络驱动器- mercurial应该能够将更改推送到web服务器,就像它对本地目录所做的那样。

有人能证实吗?

Windows WebDAV支持可能不稳定。很有可能是由于mercurial的高级文件系统操作,操作系统做了一些不正确的事情,或者是apache的mod_dav无法处理的事情。

也有可能是一些更简单的事情出错了,比如apache阻塞了对以.开头的路径的访问。

您可能能够在apache日志中找到一些东西,但我建议不要这样做,而是使用真正的mercurial服务器

Mercurial的http-repositories NEVER speak on WebDAV

您必须使用任何支持mercurly的web前端与repo通信,或者将WebDAV-drive挂载为本地驱动器,并将其作为本地FS上的存储库访问

相关内容

  • 没有找到相关文章

最新更新