显示存储库之前,Windows 2003上的Mercurial浏览器需要刷新几次

当试图浏览我的Mercurial存储库时,通常会在存储库列表显示之前进行几次刷新。 configuration如下:

  • Windows Server 2003(由http://www.server4you.com/托pipe的专用机器。
  • 网站使用自签名SSL进行匿名密码保护。
  • Mercurial 1.5.3
  • Python 2.6.5
  • Python for Windows 32扩展214 py2.6
  • isapi-wsgi 0.4.2

使用标准hgwebdir_wspi.py文件通过ISAPI提供存储库(复制如下)。

在做克隆/推/等之前,我必须先浏览存储库,否则我的本地机器上的hg无法find该网站。

我能做些什么来开始追踪这个问题?

hgwebdir_wsgi.py

# Configuration file location hgweb_config = r'C:\Public\Mercurial\WebSite\hgweb.config' # Global settings for IIS path translation path_strip = 0 # Strip this many path elements off (when using url rewrite) path_prefix = 0 # This many path elements are prefixes (depends on the # virtual path of the IIS application). import sys # Adjust python path if this is not a system-wide install #sys.path.insert(0, r'c:\path\to\python\lib') # Enable tracing. Run 'python -m win32traceutil' to debug if hasattr(sys, 'isapidllhandle'): import win32traceutil # To serve pages in local charset instead of UTF-8, remove the two lines below import os os.environ['HGENCODING'] = 'UTF-8' import isapi_wsgi from mercurial import demandimport; demandimport.enable() from mercurial.hgweb.hgwebdir_mod import hgwebdir # Example tweak: Replace isapi_wsgi's handler to provide better error message # Other stuff could also be done here, like logging errors etc. class WsgiHandler(isapi_wsgi.IsapiWsgiHandler): error_status = '500 Internal Server Error' # less silly error message isapi_wsgi.IsapiWsgiHandler = WsgiHandler # Only create the hgwebdir instance once application = hgwebdir(hgweb_config) def handler(environ, start_response): # Translate IIS's weird URLs url = environ['SCRIPT_NAME'] + environ['PATH_INFO'] paths = url[1:].split('/')[path_strip:] script_name = '/' + '/'.join(paths[:path_prefix]) path_info = '/'.join(paths[path_prefix:]) if path_info: path_info = '/' + path_info environ['SCRIPT_NAME'] = script_name environ['PATH_INFO'] = path_info return application(environ, start_response) def __ExtensionFactory__(): return isapi_wsgi.ISAPISimpleHandler(handler) if __name__=='__main__': from isapi.install import * params = ISAPIParameters() HandleCommandLine(params) 

hgweb.config

 [paths] / = C:\Public\Mercurial\Repositories\* [web] allow_archive = bz2 gz zip ; Allows archive downloads. allow_push = ######## ; Users that are allowed to push. 

这听起来像IIS 6caching您的网页(你没有定义,如果你使用Apache或不,所以我认为它是一个Windows服务器)

使用此链接从Microsoft并将网站立即过期

途中caching了一些东西。 使用curl或wget来获取页面并检查http标题。 没有ssl会更好吗?