mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-09-15 23:42:37 +03: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
1 changed files with 18 additions and 2 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue