From 2c55fb499cdf6afa8fdb656f93a59fcddab9d5be Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Wed, 9 Jul 2014 10:30:28 +0200 Subject: [PATCH] Do write .fdroidvcs if the clone succeeded If the clone succeeded but the checkout failed, it didn't. Now it does, by keeping the exception and raising it a bit later. --- fdroidserver/common.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) 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): -- 2.30.2