Mercurial > hg
changeset 7178:98b6c3dde237
Fix Debian bug #494889 (fetching from static-http://... broken)
Changeset 6605a03cbf87 which fixed issue965 (hg clone static-http
does not work for empty repos) broke cloning of repos with old layout
(without store) via static-http.
This fix makes cloning from old-style repositories possible again,
but will not allow cloning of empty old-style repositories as this
can not be detected reliably.
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Sun, 19 Oct 2008 19:49:56 +0200 |
parents | 967adcf5910d |
children | 3d080733a339 380fda3eed13 a79d3f535809 |
files | mercurial/statichttprepo.py |
diffstat | 1 files changed, 10 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/statichttprepo.py Sat Oct 11 16:40:59 2008 +0200 +++ b/mercurial/statichttprepo.py Sun Oct 19 19:49:56 2008 +0200 @@ -42,11 +42,18 @@ try: requirements = self.opener("requires").read().splitlines() except IOError, inst: - if inst.errno == errno.ENOENT: + if inst.errno != errno.ENOENT: + raise + # check if it is a non-empty old-style repository + try: + self.opener("00changelog.i").read(1) + except IOError, inst: + if inst.errno != errno.ENOENT: + raise + # we do not care about empty old-style repositories here msg = _("'%s' does not appear to be an hg repository") % path raise repo.RepoError(msg) - else: - requirements = [] + requirements = [] # check them for r in requirements: