[issue1850] Can't push changes to a repository that contains sub-repositories when the host the sub-repo was cloned from is offline
Monroe Williams
bugs at mercurial.selenic.com
Fri Oct 2 22:14:35 UTC 2009
New submission from Monroe Williams <monroe at criticalpath.com>:
Setup:
- create a repository on host A which references a sub-repository on host B.
- clone the repository onto host C
- take host B offline
- commit local changes to the repository on host C (not in the sub-repo, but in the main repo)
- do an 'hg push' in the repository on host C
The push will fail trying to contact host B.
Traceback looks like this:
$ hg push --traceback
pushing to ssh://hostA.something.com/mumble/
pushing subrepo path/to/hostB/subrepo
Traceback (most recent call last):
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 43, in _runcatch
return _dispatch(ui, args)
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 449, in _dispatch
return runcommand(lui, repo, cmd, fullargs, ui, options, d)
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 317, in runcommand
ret = _runcommand(ui, options, cmd, d)
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 501, in _runcommand
return checkargs()
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 454, in checkargs
return cmdfunc()
File "/Library/Python/2.6/site-packages/mercurial/dispatch.py", line 448, in <lambda>
d = lambda: util.checksignature(func)(ui, *args, **cmdoptions)
File "/Library/Python/2.6/site-packages/mercurial/util.py", line 402, in check
return func(*args, **kwargs)
File "/Library/Python/2.6/site-packages/mercurial/commands.py", line 2331, in push
c.sub(s).push(opts.get('force'))
File "/Library/Python/2.6/site-packages/mercurial/subrepo.py", line 196, in push
other = hg.repository(self._repo.ui, dsturl)
File "/Library/Python/2.6/site-packages/mercurial/hg.py", line 63, in repository
repo = _lookup(path).instance(ui, path, create)
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 254, in instance
inst.between([(nullid, nullid)])
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 175, in between
d = self.do_read("between", pairs=n)
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 126, in do_read
fp = self.do_cmd(cmd, **args)
File "/Library/Python/2.6/site-packages/mercurial/httprepo.py", line 79, in do_cmd
resp = self.urlopener.open(urllib2.Request(cu, data, headers))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line
383, in open
response = self._open(req, data)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line
401, in _open
'_open', req)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/urllib2.py", line
361, in _call_chain
result = func(*args)
File "/Library/Python/2.6/site-packages/mercurial/url.py", line 383, in http_open
return self.do_open(httpconnection, req)
File "/Library/Python/2.6/site-packages/mercurial/keepalive.py", line 248, in do_open
raise urllib2.URLError(err)
URLError: <urlopen error >
abort: error:
----------
messages: 10615
nosy: monroe
priority: critical
status: unread
title: Can't push changes to a repository that contains sub-repositories when the host the sub-repo was cloned from is offline
____________________________________________________
Mercurial issue tracker <bugs at mercurial.selenic.com>
<http://mercurial.selenic.com/bts/issue1850>
____________________________________________________
More information about the Mercurial-devel
mailing list