Switch to side-by-side view

--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -74,6 +74,7 @@
             if offset != 0:
                 latest = self._impl.log(url, limit=1)
                 if not latest: return []
+                latest = latest[0]
                 revno = latest.revision.number-offset
                 if offset + limit > revno:
                     limit = revno - offset
@@ -84,6 +85,9 @@
                         revno)
             commits = self._impl.log(url, **kwargs)
             return [ self.CommitClass.from_repo_object(entry, self) for entry in commits ]
+        except pysvn.ClientError: # pragma no cover
+            # probably an empty repo
+            return []
         except:  # pragma no cover
             log.exception('Error performing SVN log:')
             return []
@@ -93,18 +97,24 @@
 
     @LazyProperty
     def latest(self):
-        l = self._impl.log(self.local_url, limit=1)
+        try:
+            l = self._impl.log(self.local_url, limit=1)
+        except pysvn.ClientError:
+            return None
         if l:
             return self.CommitClass.from_repo_object(l[0], self)
         else:
             return None
 
     def commit(self, revision):
-        r = self._impl.log(
-            self.local_url,
-            revision_start=pysvn.Revision(
-                pysvn.opt_revision_kind.number, revision),
-            limit=1)
+        try:
+            r = self._impl.log(
+                self.local_url,
+                revision_start=pysvn.Revision(
+                    pysvn.opt_revision_kind.number, revision),
+                limit=1)
+        except pysvn.ClientError:
+            return None
         if r: return self.CommitClass.from_repo_object(r[0], self)
         else: return None