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()