我刚刚用apache创建了一个hg服务器。我能够克隆,拉动而不是推送到一些较旧的存储库。
如果我在服务器上创建一个干净的存储库,克隆它,制作并提交一个测试文件,推送工作正常。
如果我使用由svn制作的现有存储库,则推送不起作用。此存储库托管在我们与其他项目共享的较旧的hg服务器上。它工作得很好。但是在迁移到更新的hg后,这种情况开始发生:
$ hg push -r 2 --debug --traceback http://sdsvn.mbid.cz:3145/b
pushing to http://sdsvn.mbid.cz:3145/b
using http://sdsvn.mbid.cz:3145/b
proxying through http://wsab1.lb.mbid.cz:8008
sending capabilities command
http authorization required for http://sdsvn.mbid.cz:3145/b
realm: Moneta Apps Mercurial repository
user: macik
password:
http auth: user macik, password *******
query 1; heads
sending batch command
searching for changes
all remote heads known locally
preparing listkeys for "phases"
sending listkeys command
received listkey for "phases": 15 bytes
checking for updated bookmarks
preparing listkeys for "bookmarks"
sending listkeys command
received listkey for "bookmarks": 0 bytes
sending branchmap command
sending branchmap command
preparing listkeys for "bookmarks"
sending listkeys command
received listkey for "bookmarks": 0 bytes
1 changesets found
list of changesets:
6b69f3649ab68022671048cdd56e94bdfa3d2f8c
bundle2-output-bundle: "HG20", 4 parts total
bundle2-output-part: "replycaps" 155 bytes payload
bundle2-output-part: "check:heads" streamed payload
bundle2-output-part: "changegroup" (params: 1 mandatory) streamed payload
bundle2-output-part: "pushkey" (params: 4 mandatory) empty payload
sending unbundle command
sending 13699 bytes
bundle2-input-bundle: with-transaction
bundle2-input-part: "output" (advisory) (params: 0 advisory) supported
bundle2-input-part: total payload size 18
remote: adding changesets
bundle2-input-part: "output" (advisory) supported
bundle2-input-part: total payload size 38
remote: transaction abort!
remote: rollback completed
bundle2-input-part: "error:abort" (params: 1 mandatory) supported
bundle2-input-bundle: 2 parts total
remote: stream ended unexpectedly (got 0 bytes, expected 4)
Traceback (most recent call last):
File "mercurial\dispatch.pyo", line 239, in _runcatchfunc
File "mercurial\dispatch.pyo", line 842, in _dispatch
File "mercurial\dispatch.pyo", line 594, in runcommand
File "mercurial\dispatch.pyo", line 850, in _runcommand
File "mercurial\dispatch.pyo", line 839, in <lambda>
File "mercurial\util.pyo", line 1051, in check
File "mercurial\commands.pyo", line 5292, in push
File "mercurial\exchange.pyo", line 481, in push
File "mercurial\exchange.pyo", line 922, in _pushbundle2
Abort: push failed on remote
abort: push failed on remote
我在服务器上使用mercurial 4.1与Py2.7和Apache2.2.31在客户端上使用TortoiseHG 4.1。
不幸的是,我无法安装WireShark来监控交通(公司政策)。所以这是我唯一合理的输出。
请你指点我,在哪里寻找这个问题的根源,甚至更好地解决它?
THX