2011-08-25 88 views
4

推到水银回购255时,我使用HgEclipse从这里:http://www.javaforge.com/project/HGE接收错误代码:从Eclipse插件

我已经创建了我的服务器上一个新的存储库,以测试该插件。我克隆的资源库,增加了一些文件,承诺和试图推却收到以下错误消息......

abort: HTTP Error 500: Internal Server Error. Command line: 
/home/james/workspace/project:hg -y push http://***@[repository location], 
error code: 255 

从一些谷歌搜索,我可以发现,255错误是认证做的,但密码是正确的,否则我将无法克隆。

任何帮助或建议将不胜感激。

感谢

编辑

abort: HTTP Error 500: Permission denied: .hg/store/data/path-to-file.i 
+0

你可以看看服务器的错误日志吗? 'HTTP错误500:内部服务器错误。“看起来像服务器上的东西出错了。 – Rudi

+0

我无法找到日志输出的地方,有什么想法? – Jivings

+0

你使用哪个webserver? – Rudi

回答

6

你的Web服务器: 我的系统更新到最新版本,我现在在命令行推时,也得到这个(这是以前的工作)后无法写入存储库。您可以

  • 变化在当地的回购协议的权限,以便Web服务器获取写权限存在(这意味着你需要设置写权限使用chmod的所有文件和目录下(包括).hg,也您需要将粘性位设置为所有目录)
  • 为Web服务器提供一个自己的回购站,它由服务器拥有。

给网络上投放了自己看起来像这样的回购:

$ sudo bash 
# mkdir /srv/repo-base 
# chown www-data /srv/repo-base 
# cd /srv/repo-base 
# su -c "hg clone /path/to/current/repo web-repo-name" www-data 
# vi /etc/apache2/sites-available/$SITE_CONFIG_FILE # change the repo path to /srv/repo-base/web-repo-name 
# /etc/init.d/apache2 reload 

这种方法的缺点是,你需要通过http推动连机器上的Web服务器,因为作为普通用户,您没有对Web服务器仓库的写入权限。

+0

对不起,我花了很长时间才回到这里,同时我的网络服务器也遇到了一些麻烦。更改权限不起作用,即使它们是777,它仍然表示权限被拒绝。 – Jivings

+0

没关系,我在存储库上运行chown www-data -R,似乎已经完成了它。谢谢你的帮助。 – Jivings

0

这回答了我的问题,虽然它是一个不同的系统设置:TortoiseHg。
Repository Settings -> Server中,我将Allow Push设置为*
这是位于防火墙后面的专用网络中。