Receiving Error Code: 255 when pushing to Mercurial repo from Eclipse Plugin
我在这里使用 HgEclipse:http://www.javaforge.com/project/HGE
我在我的服务器上创建了一个新的存储库来测试插件。我克隆了存储库,添加了一些文件,提交并尝试推送,但收到以下错误消息...
1 2 3 | abort: HTTP Error 500: Internal Server Error. Command line: /home/james/workspace/project:hg -y push http://***@[repository location], error code: 255 |
通过一些谷歌搜索我可以发现 255 错误与身份验证有关,但密码是正确的,否则我将无法首先克隆。
任何帮助或建议将不胜感激。
谢谢
编辑:
将我的系统更新到最新版本后,我现在也可以在推送时从命令行获取此信息(以前可以使用):
1 | abort: HTTP Error 500: Permission denied: .hg/store/data/path-to-file.i |
您的网络服务器无法写入存储库。您可以
- 更改本地存储库中的权限,以便网络服务器在那里获得写权限(这意味着您需要使用 chmod 为 .hg 下(包括)下的所有文件和目录设置写权限,还需要将粘性位设置为所有目录)
- 给网络服务器一个自己的 repo,它归服务器所有。
为 web 服务提供一个自己的 repo,如下所示:
1 2 3 4 5 6 7 | $ 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 推送,因为作为普通用户,您没有网络服务器存储库的写入权限。
这回答了我的问题,虽然它是一个不同的系统设置:TortoiseHg。
在
这是在防火墙后面的专用网络上。