Mercurial: Почему я получаю ошибку 404 при нажатии в репозиторий, чей URL-адрес я могу получить в браузере?
У меня есть репозиторий Mercurial, который я вижу очень хорошо, если я перехожу к нему в браузере, но когда я пытаюсь сделать push, с моим путём по умолчанию, установленным на тот же URL-адрес, который я посещаю в браузере, я получаю это:
abort: HTTP Error 404: Not Found
Должен ли URL-адрес, который я нажимаю, чтобы быть каким-то другим?
Ответы
Ответ 1
Это похоже на эту конфигурацию, где hgweb.config
необходимо правильно настроить:
/ = /home/my_username/hg/**
(с двумя звездами в конце)
Или это http vs. https issue?
Для https вам нужен правильный .hgrc
файл, в противном случае вы также можете получить ошибку 404.
См. .hg/hgrc
файл man man.
[ui]
username = [email protected]
password = mypassword
schemes = https
[paths]
default = https://myURL.kilnhg.com/Repo/Repositories/Groups/myrepo
Ответ 2
Мы неожиданно начали получать эту ошибку в нашем основном репозитории Mercurial, размещенном в IIS в Windows 2008. Когда в вашем репозитории слишком много голов, Mercurial Строки запроса POSTs больше, чем IIS.
Вы можете узнать, просмотрев код под-состояния неудавшегося запроса в журналах IIS (обычно это номер после нормального кода состояния HTTP). В этой ситуации IIS возвращает под-статус 15, что означает, что строка запроса слишком длинная. Не забудьте проверить свои коды под-статусом!
Чтобы устранить проблему, вам нужно увеличить длину строки запроса IIS maxiumum:
# 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>
Ответ 3
"Слишком большой контент" - это то, что у меня было. Перейдите в журналы IIS и найдите "404 13".
Чтобы исправить это, в диспетчере IIS выберите параметр "Фильтрация запросов", а затем выберите вкладку "Заголовки".
Затем перейдите в "Редактировать настройки функций" справа. Затем выберите действительно большое число для поля "Максимальное допустимое содержимое (байты)".
Это исправило мою проблему.
Ответ 4
У меня была такая же проблема, и в конечном итоге это были VERB, разрешенные для обработчика CGI. Я ограничил его GET, POST и HEAD, но в конечном итоге изменил его, чтобы разрешить все, и теперь он отлично работает.
Ответ 5
Я получил эту ошибку, пытаясь натолкнуть много наборов изменений, особенно большой размер со многими бинарными файлами (обновление jpg на веб-сайте). [jpg под управлением источника, в том же репо, что и источник, возможно, не лучший подход, но это помимо точки.]
В таком случае, если у вас нет доступа к конфигурации IIS, работа заключается в том, чтобы нажимать меньше наборов изменений за раз. В TortoiseHg используйте функцию "Исходящие", щелкните правой кнопкой мыши верхний набор изменений поднабора, который вы хотите нажать, и выберите "Нажать сюда". Повторить.