diff --git a/fdroidserver/common.py b/fdroidserver/common.py index c542aa2d..3e241194 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -406,13 +406,21 @@ class vcs: if deleterepo: shutil.rmtree(self.local) - self.gotorevisionx(rev) + exc = None + + try: + self.gotorevisionx(rev) + except FDroidException, e: + exc = e # If necessary, write the .fdroidvcs file. - if writeback: + if writeback and not self.clone_failed: with open(fdpath, 'w') as f: f.write(cdata) + if exc is not None: + raise exc + # Derived classes need to implement this. It's called once basic checking # has been performend. def gotorevisionx(self, rev):