Получение кода ошибки: 255 при нажатии на репозиторий Mercurial из Eclipse Plugin - PullRequest
4 голосов
/ 25 августа 2011

Я использую 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 связана с аутентификацией, но пароль верен, иначе я не смог бы клонировать в первую очередь.

Любая помощь или предложения будут высоко оценены.

Спасибо

EDIT : После обновления моей системы до последних версий я теперь также получаю это из командной строки при нажатии (которая ранее работала):

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

Ответы [ 2 ]

6 голосов
/ 30 августа 2011

Ваш веб-сервер не может писать в хранилище. Вы можете либо

  • измените разрешения в локальном репо, чтобы веб-сервер получал там разрешения на запись (что означает, что вам нужно настроить разрешения на запись с помощью chmod для всех файлов и каталогов в (и в том числе) .hg, также вам нужно установить sticky -бит во все каталоги)
  • предоставляет веб-серверу собственный репо, принадлежащий серверу.

Предоставление веб-серверу репо по-своему выглядит так:

$ 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 даже на машине с веб-сервером, поскольку у обычного пользователя у вас нет прав на запись в репозиторий веб-сервера.

0 голосов
/ 22 марта 2017

Это ответило мне, хотя это другая система: TortoiseHg.
В Repository Settings -> Server я установил Allow Push на *
Это было в частной сети, так защищенноймежсетевой экран.

...