Mercurial > kallithea
changeset 8113:c78fd87d362b
vcs: tweak how revisions and repo names are shown in error messages
Decode bytes to str, and show repo name instead of repr or full server file
system path. In some places, it will only report the "basename" of the
repository, without any "group names" that also would be nice to have. The easy
alternative would be to show the full file system path ... but it would be
unfortunate to leak absolute server side paths to end users.
author | Mads Kiilerich <mads@kiilerich.com> |
---|---|
date | Sat, 28 Dec 2019 23:01:23 +0100 |
parents | 135bbd1862cf |
children | 2c224062eba7 |
files | kallithea/lib/vcs/backends/git/repository.py kallithea/lib/vcs/backends/hg/repository.py |
diffstat | 2 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/kallithea/lib/vcs/backends/git/repository.py Fri Dec 27 00:26:41 2019 +0100 +++ b/kallithea/lib/vcs/backends/git/repository.py Sat Dec 28 23:01:23 2019 +0100 @@ -270,7 +270,7 @@ try: return self.revisions[revision] except IndexError: - msg = ("Revision %s does not exist for %s" % (revision, self)) + msg = "Revision %r does not exist for %s" % (revision, self.name) raise ChangesetDoesNotExistError(msg) if isinstance(revision, (str, unicode)): @@ -294,7 +294,7 @@ return revision if SHA_PATTERN.match(revision): - msg = ("Revision %s does not exist for %s" % (revision, self)) + msg = "Revision %r does not exist for %s" % (revision, self.name) raise ChangesetDoesNotExistError(msg) raise ChangesetDoesNotExistError("Given revision %r not recognized" % revision)
--- a/kallithea/lib/vcs/backends/hg/repository.py Fri Dec 27 00:26:41 2019 +0100 +++ b/kallithea/lib/vcs/backends/hg/repository.py Sat Dec 28 23:01:23 2019 +0100 @@ -376,10 +376,10 @@ except (mercurial.error.Abort, mercurial.error.RepoError) as err: if create: msg = "Cannot create repository at %s. Original error was %s" \ - % (self.path, err) + % (self.name, err) else: msg = "Not valid repository at %s. Original error was %s" \ - % (self.path, err) + % (self.name, err) raise RepositoryError(msg) @LazyProperty @@ -434,10 +434,10 @@ return ascii_str(self._repo[revision].hex()) return ascii_str(mercurial.scmutil.revsymbol(self._repo, revision).hex()) except (IndexError, ValueError, mercurial.error.RepoLookupError, TypeError): - msg = ("Revision %s does not exist for %s" % (revision, self)) + msg = "Revision %r does not exist for %s" % (safe_unicode(revision), self.name) raise ChangesetDoesNotExistError(msg) except (LookupError, ): - msg = ("Ambiguous identifier `%s` for %s" % (revision, self)) + msg = "Ambiguous identifier `%s` for %s" % (safe_unicode(revision), self.name) raise ChangesetDoesNotExistError(msg) def get_ref_revision(self, ref_type, ref_name): @@ -459,10 +459,10 @@ try: revs = self._repo.revs(rev_spec, ref_name, ref_name) except LookupError: - msg = ("Ambiguous identifier %s:%s for %s" % (ref_type, ref_name, self.name)) + msg = "Ambiguous identifier %s:%s for %s" % (ref_type, ref_name, self.name) raise ChangesetDoesNotExistError(msg) except mercurial.error.RepoLookupError: - msg = ("Revision %s:%s does not exist for %s" % (ref_type, ref_name, self.name)) + msg = "Revision %s:%s does not exist for %s" % (ref_type, ref_name, self.name) raise ChangesetDoesNotExistError(msg) if revs: revision = revs.last() @@ -528,7 +528,7 @@ "after end revision '%s'" % (start, end)) if branch_name and branch_name not in self.allbranches: - msg = ("Branch %s not found in %s" % (branch_name, self)) + msg = "Branch %r not found in %s" % (branch_name, self.name) raise BranchDoesNotExistError(msg) if end_pos is not None: end_pos += 1