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):
treeish += 'master'
svn_rev = rev
- p = SilentPopen(['git', 'svn', 'find-rev', 'r' + svn_rev, treeish],
+ svn_rev = svn_rev if svn_rev[0] == 'r' else 'r' + svn_rev
+
+ p = SilentPopen(['git', 'svn', 'find-rev', svn_rev, treeish],
cwd=self.local)
git_rev = p.output.rstrip()