从Eclipse插件推送到Mercurial repo时接收错误代码:255



我从这里使用HgEclipse: http://www.javaforge.com/project/HGE

我已经在服务器上创建了一个新的存储库来测试插件。我克隆了存储库,添加了一些文件,提交并尝试推送,但收到以下错误消息…

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

您的web服务器无法写入存储库。

  • 更改本地repo中的权限,以便web服务器在那里获得写权限(这意味着您需要为.hg下(包括)的所有文件和目录设置chmod写权限,还需要为所有目录设置sticky-bit)
  • 给web服务器一个自己的repo,它属于服务器。

给web服务一个自己的repo看起来像这样:

$ 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服务器的repo。

这回答了我的问题,尽管这是一个不同的系统设置:TortoiseHg。
Repository Settings -> Server中,我将Allow Push设置为*

相关内容

最新更新