我正在尝试使用hgweb.wsgi脚本获取在Windows Server 2008/IIS 7.5下的mercurial服务器上工作的largefiles扩展。Mercurial largefiles在Windows Server 2008上无法正常工作
当我克隆与本地大型文件(但使用https://domain/
,而不是文件系统路径),一切回购被克隆的罚款,但是当我尝试在不同的机器上,我得到abort: remotestore: largefile XXXXX is missing
下面是详细的输出:
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 177 changes to 177 files
calling hook changegroup.lfiles: <function checkrequireslfiles at 0x0000000002E00358>
updating to branch default
resolving manifests
getting .hglf/path/to.file
...
177 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
getting path/to.file:c0c81df934cd72ca980dd156984fa15987e3881d
abort: remotestore: largefile c0c81df934cd72ca980dd156984fa15987e3881dis missing
两台机器都有扩展工作。我试过禁用防火墙,但没有帮助。除了将它添加到mercurial.ini之外,我还需要做任何事情来设置扩展吗?
编辑:如果我从服务器的AppData\Local\largefiles\
目录中删除文件,在服务器上克隆时会出现相同的错误,除非我使用文件系统路径进行克隆,在这种情况下,文件会重新添加到AppData \ Local \大型文件\”
编辑2:这里的调试输出和追踪:
177 files updated, 0 files merged, 0 files removed, 0 files unresolved
getting changed largefiles
using http://domain
sending capabilities command
getting largefiles: 0/75 lfile (0.00%)
getting path/to.file:64f2c341fb3b1adc7caec0dc9c51a97e51ca6034
sending statlfile command
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 87, in _runcatch
File "mercurial\dispatch.pyo", line 685, in _dispatch
File "mercurial\dispatch.pyo", line 467, in runcommand
File "mercurial\dispatch.pyo", line 775, in _runcommand
File "mercurial\dispatch.pyo", line 746, in checkargs
File "mercurial\dispatch.pyo", line 682, in <lambda>
File "mercurial\util.pyo", line 463, in check
File "mercurial\commands.pyo", line 1167, in clone
File "mercurial\hg.pyo", line 400, in clone
File "mercurial\extensions.pyo", line 184, in wrap
File "hgext\largefiles\overrides.pyo", line 629, in hgupdate
File "hgext\largefiles\lfcommands.pyo", line 416, in updatelfiles
File "hgext\largefiles\lfcommands.pyo", line 398, in cachelfiles
File "hgext\largefiles\basestore.pyo", line 80, in get
File "hgext\largefiles\remotestore.pyo", line 56, in _getfile
Abort: remotestore: largefile 64f2c341fb3b1adc7caec0dc9c51a97e51ca6034 is missing
的_getfile
函数抛出,因为statlfile
命令返回一个例外,该文件没有被发现。
我从未使用过蟒蛇自己,所以我不知道我在做什么,而试图调试这一点:据我所知的statlfile
命令获取服务器上执行d
,所以我不能对它进行调试从我的本地机器。我试着在服务器上运行python -m win32traceutil
,但它没有显示任何内容。我也尝试在服务器的mercurial配置文件中设置accesslog
和errorlog
,但它不生成它们。
我通过hgweb.wsgi脚本运行hg,并且我不知道是否/如何使用该脚本进入python调试器,但是如果我能够在服务器上运行调试器,则可以缩小问题的范围。 ..