Mercurial > hg
changeset 38986:ac0a87160012
localrepo: better error when a repo exists but we lack permissions
Claiming "repository foo not found" when the repository does exist
causes confusion regularly ("where is the typo?").
Differential Revision: https://phab.mercurial-scm.org/D4122
author | Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> |
---|---|
date | Sat, 04 Aug 2018 21:31:46 -0400 |
parents | d85b0d81112b |
children | 9204445ad54c |
files | mercurial/localrepo.py tests/test-clone.t |
diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Mon Aug 06 11:32:16 2018 -0700 +++ b/mercurial/localrepo.py Sat Aug 04 21:31:46 2018 -0400 @@ -495,6 +495,11 @@ ' dummy changelog to prevent using the old repo layout' ) else: + try: + self.vfs.stat() + except OSError as inst: + if inst.errno != errno.ENOENT: + raise raise error.RepoError(_("repository %s not found") % path) elif create: raise error.RepoError(_("repository %s already exists") % path)
--- a/tests/test-clone.t Mon Aug 06 11:32:16 2018 -0700 +++ b/tests/test-clone.t Sat Aug 04 21:31:46 2018 -0400 @@ -642,7 +642,7 @@ $ mkdir a $ chmod 000 a $ hg clone a b - abort: repository a not found! + abort: Permission denied: '$TESTTMP/fail/a/.hg' [255] Inaccessible destination @@ -665,7 +665,7 @@ $ mkfifo a $ hg clone a b - abort: repository a not found! + abort: $ENOTDIR$: '$TESTTMP/fail/a/.hg' [255] $ rm a