gpt4 book ai didi

version-control - Mercurial abort : index . .. 已损坏

转载 作者:行者123 更新时间:2023-12-04 07:06:41 24 4
gpt4 key购买 nike

尝试从生产存储库克隆时出现以下错误。

abort: index data/HR3/globals.php.i is corrupted!

之后,mercurial 立即对我放屁并且无法克隆。我尝试从生产仓库中删除有问题的文件,但失败了。我还尝试删除生产存储库中的 .hg 目录并重新添加和提交所有文件。这会产生相同的错误。

仅供引用,我正在尝试将我们应用程序的当前生产副本克隆到我们的测试服务器。我们的测试服务器在 Virtual Box 中运行。

更新

我通过删除全局文件然后删除 .hg 目录并重新运行“hg init”和“hg add”来解决这个问题。和“ Mercurial 提交”。

现在,当我尝试克隆时出现内部服务器错误。以下是我使用的克隆命令。
sudo hg clone http://10.1.1.25/ www

奇怪的是,mercurial 告诉我“真实”的 url 是“10.1.1.25/HR3/index.php”,这绝对不是我的 mercurial 存储库。我不知道它为什么这样做。我检查了我的服务器日志,Apache 发现了以下错误。
[Thu Dec 16 12:25:30 2010] [error] [client 10.1.1.102] PHP Parse error:  syntax error, unexpected T_STRING in /var/www/.hg/store/data/_h_r3/includes/_b_n_a_s/_b_n_a_s-_h_r_s201.php.i on line 22

显然克隆命令导致 Mercurial 启动 PHP 并使其尝试解析 Mercurial 数据存储中的某些内容?

解决方案

我怀疑这是由于我的存储库的根目录中有一个 index.php 文件可以进行重定向。如果您尝试直接导航到我们网络上的 http:10.1.1.25,您将被自动定向到索引页面,而不是根目录中的 index.php 页面。不知何故,我认为这导致 php 启动并尝试解析 mercurial 商店中的项目。我已经通过 ssh 克隆解决了这个问题。

最佳答案

您似乎使用 static-http 方法从与开发项目所在的服务器相同的服务器发布了您的存储库。此方法仅在 Web 服务器不与 $URL/.hg 混淆时才有效,而您的服务器似乎是这样做的。检查是否可以在新文件夹中下载带有 wget -r -np $URL/.hg 的 .hg 文件夹并在那里运行 hg verify

Oddly enough, mercurial tells me that the "real" url is "10.1.1.25/HR3/index.php" which is most definitely not my mercurial repository.



我猜你的 web 服务器将一些 mercurial 请求重定向到你的 index.php url。

关于version-control - Mercurial abort : index . .. 已损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4464666/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com