[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