From: Daniel Martí Date: Sat, 5 Jul 2014 10:15:20 +0000 (+0200) Subject: Try the old git svn find-rev format as well X-Git-Tag: 0.2.1~41 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=7d07e52e1f155113ddcf4753306fe1f198c7bbcf;p=fdroidserver.git Try the old git svn find-rev format as well --- 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