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