0

今天,我尝试将更改推送到我们托管在运行 webdav(通过 HTTPS)的 apache(2.2.x)上的共享存储库中。dav 目录中的存储库是我的工作目录的克隆。选项 NoUpdate 已启用。两个存储库都已启动。

为了继续,我将 dav-directory/repositoy 映射为网络驱动器,并将存储库设置为推送到“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 脚本的版本。

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

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

有人可以证实这一点吗?

4

2 回答 2

0

Windows WebDAV 支持可能不稳定。很有可能由于 mercurial 可能高级的文件系统操作,操作系统做错了什么,或者 apache 的 mod_dav 无法处理。

更简单的事情也可能是错误的,例如 apache 阻止访问以..

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

于 2013-06-24T23:40:49.153 回答
0

Mercurial 的 http 存储库从不在 WebDAV 上发言

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

于 2013-06-20T12:21:02.937 回答