Mercurial: почему я получаю сообщение об ошибке 404 при отправке в хранилище, URL которого я могу найти в браузере? - PullRequest
19 голосов
/ 23 марта 2010

У меня есть репозиторий Mercurial, который я вижу очень хорошо, если я перехожу к нему в браузере, но когда я пытаюсь сделать push, с моим путем по умолчанию, установленным на тот же URL, который я посещаю в браузере, я получаю это:

abort: HTTP Error 404: Not Found

Должен ли URL, который я нажимаю, каким-то образом отличаться?

Ответы [ 5 ]

12 голосов
/ 06 ноября 2013

«слишком большой контент» - вот что у меня было.Перейдите в журналы IIS и найдите «404 13».

Чтобы исправить это, в диспетчере IIS перейдите к параметру «Фильтрация запросов» и перейдите на вкладку «Заголовки».

Затем перейдите к «Редактировать настройки функций» справа.Затем выберите действительно большое число для поля «Максимально допустимое содержимое (байт)».

Это исправило мою проблему.

12 голосов
/ 06 декабря 2011

Мы неожиданно начали получать эту ошибку в нашем главном репозитории Mercurial, размещенном в IIS в Windows 2008. Когда в вашем репозитории слишком много заголовков , строки запроса Mercurial POSTs длиннее, чем IIS решает обработать.

Вы можете определить это, посмотрев код под-статуса неудавшегося запроса в журналах IIS (обычно это число после нормального кода состояния HTTP).В этой ситуации IIS возвращает под-статус 15 , что означает, что строка запроса слишком длинная.Не забудьте проверить свои коды суб-статуса!

Чтобы решить эту проблему, вам потребуется увеличить максимальную длину строки запроса IIS :

 # Get the current query string size limit
 c:\windows\system32\inetsrv\appcmd list config /section:requestFiltering -text:requestLimits.maxQueryString

 # Set the new query string size limit
 c:\windows\system32\inetsrv\appcmd set config /section:requestFiltering /requestLimits.maxQueryString:<NEW SIZE>
5 голосов
/ 23 марта 2010

Это похоже на эту конфигурацию , где hgweb.config необходимо правильно настроить:

/ = /home/my_username/hg/**

(с двумя звездами в конце)

Или это проблема http против https ?

Для https вам нужен правильный .hgrc файл , в противном случае вы также можете получить ошибку 404.
См. Справочную страницу файла .hg/hgrc .

[ui]

username = my.address@myco.com

password = mypassword

schemes = https

[paths]

default = https://myURL.kilnhg.com/Repo/Repositories/Groups/myrepo
2 голосов
/ 28 апреля 2010

У меня была та же проблема, и в итоге я получил VERB для обработчика CGI.Я ограничил его GET, POST и HEAD, но в итоге изменил его, чтобы разрешить все, и теперь он работает нормально.

1 голос
/ 17 января 2016

Я получил эту ошибку, когда пытался протолкнуть множество наборов изменений, особенно большого размера с большим количеством двоичных файлов (обновление jpg на веб-сайте).[jpg под управлением источника, в том же репо, что и источник, может быть не лучшим подходом, но это не главное.]

В таком случае, если у вас нет доступа к конфигурации IIS,Обходной путь - выдвигать меньшее количество наборов изменений за раз.В TortoiseHg используйте функцию «Исходящие», щелкните правой кнопкой мыши верхний набор изменений подмножества, который вы хотите нажать, и выберите «Переместить сюда».Повторите.

...