首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >汞中止:索引..。腐化

汞中止:索引..。腐化
EN

Stack Overflow用户
提问于 2010-12-16 19:36:34
回答 3查看 5.4K关注 0票数 4

当试图从生产回购中克隆时,我会得到以下错误。

代码语言:javascript
复制
abort: index data/HR3/globals.php.i is corrupted!

之后,mercurial立即向我放屁,却没有克隆人。我尝试过从生产回购中删除该文件,但失败了。我还尝试删除生产回购中的.hg目录,并重新添加和提交所有文件。这会产生同样的错误。

只是fyi,我试图克隆我们的应用程序的当前生产副本到我们的测试服务器。我们的测试服务器正在虚拟盒中运行。

更新

通过删除globals文件,然后删除.hg目录并重新运行"hg“和"hg”,我修复了这个问题。和"hg承诺“

现在,当我试图克隆时,我得到了一个内部服务器错误。下面是我使用的克隆命令。

代码语言:javascript
复制
sudo hg clone http://10.1.1.25/ www

奇怪的是,mercurial告诉我,“真正的”url是"10.1.1.25/HR3/index.php“,这肯定不是我的mercurial存储库。我不知道它为什么要这样做。我签入了服务器日志,下面的错误是Apache删除的错误。

代码语言:javascript
复制
[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克隆解决了这个问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-17 07:43:50

似乎您使用静态-http方法从与您的开发项目生命相同的服务器上发布您的回购。只有当web服务器不处理$URL/..hg时,此方法才能工作,而您的服务器似乎就是这样做的。检查是否可以在新文件夹中下载带有.hg的wget -r -np $URL/.hg文件夹,并在那里运行hg verify

很奇怪,mercurial告诉我,“真正的”url是"10.1.1.25/HR3/index.php“,这肯定不是我的mercurial存储库。

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

票数 3
EN

Stack Overflow用户

发布于 2010-12-16 19:47:40

我以前也遇到过这样的错误。试着跑

代码语言:javascript
复制
hg verify

在你被破坏的存储库上。然后按照这里的说明:

http://www.softwareprojects.com/resources/programming/t-how-to-fix-mercurial-corrupt-repository-1926.html

票数 8
EN

Stack Overflow用户

发布于 2020-09-18 08:19:15

你可以试着这样做:

代码语言:javascript
复制
hg forget HR3/globals.php
hg commit
hg add HR3/globals.php
hg commit
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4464666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档