mirror of
https://gitlab.com/fdroid/fdroidserver.git
synced 2024-11-13 02:30:11 +01:00
tags and trunk are variable; append to repo
They will be in the form Repo:http://foo.com/svn/project;trunk=...;tags=... Both trunk and tags are optional. If trunk is not given, it is assumed that the Repo url itself contains the raw trunk folder.
This commit is contained in:
parent
3abfa5714c
commit
8fc426203d
@ -197,8 +197,24 @@ class vcs_gitsvn(vcs):
|
||||
def gotorevisionx(self, rev):
|
||||
if not os.path.exists(self.local):
|
||||
# Brand new checkout...
|
||||
if subprocess.call(['git', 'svn', 'clone', '-T', 'trunk', '-t', 'tags', self.remote, self.local]) != 0:
|
||||
raise VCSException("Git clone failed")
|
||||
gitsvn_cmd = ['git', 'svn', 'clone']
|
||||
remote_split = self.remote.split(';')
|
||||
if len(remote_split) > 1:
|
||||
for i in remote_split[1:]:
|
||||
if i.startswith('trunk='):
|
||||
trunk = i[6:]
|
||||
elif i.startswith('tags='):
|
||||
tags = i[5:]
|
||||
gitsvn_cmd = []
|
||||
if trunk:
|
||||
gitsvn_cmd += ['-T', trunk]
|
||||
if tags:
|
||||
gitsvn_cmd += ['-t', tags]
|
||||
if subprocess.call(gitsvn_cmd + [remote_split[0], self.local]) != 0:
|
||||
raise VCSException("Git clone failed")
|
||||
else:
|
||||
if subprocess.call(gitsvn_cmd + [self.remote, self.local]) != 0:
|
||||
raise VCSException("Git clone failed")
|
||||
self.checkrepo()
|
||||
else:
|
||||
self.checkrepo()
|
||||
|
Loading…
Reference in New Issue
Block a user