From 7d07e52e1f155113ddcf4753306fe1f198c7bbcf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Sat, 5 Jul 2014 12:15:20 +0200 Subject: [PATCH] Try the old git svn find-rev format as well --- fdroidserver/common.py | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 34ad2efc..42398f6f 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -622,18 +622,23 @@ class vcs_gitsvn(vcs): # No tag found, normal svn rev translation # Translate svn rev into git format rev_split = rev.split('/') - if len(rev_split) > 1: - treeish = 'origin/' + rev_split[0] - svn_rev = rev_split[1] - else: - # if no branch is specified, then assume trunk (ie. 'master' - # branch): - treeish = 'origin/master' - svn_rev = rev + p = None + for treeish in ['origin/', '']: + if len(rev_split) > 1: + treeish += rev_split[0] + svn_rev = rev_split[1] + + else: + # if no branch is specified, then assume trunk (i.e. 'master' branch): + treeish += 'master' + svn_rev = rev - p = SilentPopen(['git', 'svn', 'find-rev', 'r' + svn_rev, treeish], cwd=self.local) - git_rev = p.output.rstrip() + p = SilentPopen(['git', 'svn', 'find-rev', 'r' + svn_rev, treeish], cwd=self.local) + git_rev = p.output.rstrip() + + if p.returncode == 0 and git_rev: + break if p.returncode != 0 or not git_rev: # Try a plain git checkout as a last resort -- 2.30.2