3 svn = yaml.load(open('svn.yml'))
4 packages = svn['packages']
6 scripts = svn['scripts']
7 quashes = svn['quashes']
9 repos = ['packages/%s' % package for package in packages]
10 repos += ['scripts/%s' % script for script in scripts]
11 repos += ['doc/xvm', 'scripts/osx-update']
13 for package in packages:
14 if 'merge' in packages[package]:
15 repos.remove('packages/%s' % package)
17 def get_repo(package):
18 if 'merge' in packages[package]:
19 return get_repo(packages[package]['merge'])
20 return 'packages/%s.git' % package
22 def get_branch(package):
23 if 'branch' in packages[package]:
24 return packages[package]['branch']
25 if 'merge' in packages[package]:
26 return get_branch(packages[package]['merge'])
29 def get_tag_prefix(package):
30 if 'merge' in packages[package]:
31 return '%s/' % package
36 create repository ${repo}.git
41 % for quash in quashes:
42 match ${quash['path']}
43 min revision ${quash['rev']}
44 max revision ${quash['rev']}
48 % for package in packages:
50 % if package == 'sipb-xen-database':
51 match /trunk/packages/${package}/${package}-0/
52 repository ${get_repo(package)}
53 branch ${get_branch(package)}
58 % if 'undouble' in packages[package]:
59 match /trunk/packages/${package}/${package}/
60 repository ${get_repo(package)}
61 branch ${get_branch(package)}
62 max revision ${packages[package]['undouble'][0] - 1}
65 match /package_tags/${package}/([^/~]+)/${package}/
66 repository ${get_repo(package)}
67 branch tags/${get_tag_prefix(package)}\1
68 % if package == 'sipb-xen-dev':
71 max revision ${packages[package]['undouble'][0] - 1}
75 match /trunk/packages/tmp/${package}/
76 min revision ${packages[package]['undouble'][0]}
77 max revision ${packages[package]['undouble'][0]}
80 match /trunk/packages/${package}/
81 min revision ${packages[package]['undouble'][1]}
82 max revision ${packages[package]['undouble'][1]}
86 match /trunk/packages/${package}/
87 repository ${get_repo(package)}
88 branch ${get_branch(package)}
89 % if 'undouble' in packages[package]:
90 min revision ${packages[package]['undouble'][1] + 1}
92 % if 'punt' in packages[package]:
93 max revision ${packages[package]['punt'] - 1}
97 match /package_tags/${package}/([^/~]+)/
98 repository ${get_repo(package)}
99 branch tags/${get_tag_prefix(package)}\1
100 % if 'undouble' in packages[package]:
101 min revision ${packages[package]['undouble'][1]}
105 match /package_tags/${package}/([^/~]+)~([^/~]+)/
106 repository ${get_repo(package)}
107 branch tags/${get_tag_prefix(package)}\1_\2
108 % if 'undouble' in packages[package]:
109 min revision ${packages[package]['undouble'][1]}
115 match /trunk/packages/(xen-common|xen-3.1)/
118 match /package_tags/(xen-common|xen-3.1)/
121 % for trunk in trunks:
122 % if 'inclusive' in trunks[trunk]:
123 match /trunk/${trunk}(/|$)
125 match /trunk/${trunk}/
127 repository ${get_repo(trunks[trunk]['merge'])}
128 % if 'branch' in trunks[trunk]:
129 branch ${trunks[trunk]['branch']}
131 branch ${get_branch(trunks[trunk]['merge'])}
133 % if 'inclusive' in trunks[trunk]:
134 max revision ${trunks[trunk]['punt']}
136 max revision ${trunks[trunk]['punt'] - 1}
141 match /trunk/vnc/tightvnc-1.3.9_javasrc.zip
144 % for script in scripts:
145 match /trunk/scripts/${script}/
146 repository scripts/${script}.git
151 match /trunk/scripts/
152 repository scripts/osx-update.git
158 match /trunk/scripts/
159 repository scripts/prod-migration.git
164 % for rev in [803, 804, 925, 926, 928, 1537, 1566]:
166 repository doc/xvm.git
176 match /trunk/COPYING$
179 match /branches/wsgi/