2 packages = [line.strip() for line in open('package-list')]
3 packages.append('packages/xvm-console-devconfig')
5 packages = [package[len('packages/'):] for package in packages]
7 scripts = ['git-migration', 'invirt.mit.edu', 'munin', 'prod-migration']
8 repos += ['scripts/%s' % script for script in scripts]
10 repos += ['doc/xvm', 'scripts/osx-update']
13 'sipb-xen-guest-installer': (310, 310),
14 'sipb-xen-base': (314, 315),
15 'sipb-xen-database': (311, 313),
16 'sipb-xen-dev': (314, 315),
17 'sipb-xen-dom0': (314, 315),
18 'sipb-xen-remctl-auto': (314, 315),
22 'xvm-console-devconfig': 700,
23 'sipb-xen-guest-installer': 742,
24 'sipb-xen-remote-server': 1176,
26 'sipb-xen-console-server': 1187,
27 'sipb-xen-console': 1201,
28 'sipb-xen-base': 1350,
29 'sipb-xen-chrony-config': 1351,
30 'sipb-xen-database': 1352,
32 'sipb-xen-dom0': 1354,
33 'sipb-xen-host-master': 1355,
34 'sipb-xen-iptables': 1356,
35 'sipb-xen-python-pydhcplib': 1357,
36 'sipb-xen-remctl-auto': 1358,
37 'sipb-xen-vnc-client': 1359,
39 'sipb-xen-vnc-server': 1387,
40 'sipb-xen-dhcp': 1436,
41 'sipb-xen-autoinstaller': 1569,
42 'sipb-xen-clvm-config': 1569,
43 'invirt-console-host': 1815,
44 'invirt-console-server': 1813,
45 'invirt-remote-host': 1822,
46 'invirt-remote-server': 1822,
50 for line in open('merges'):
52 if line == '' or line[0] == '#':
55 merges.append(line.split())
61 repos.remove('packages/%s' % merge[0])
62 merge_map[merge[0]] = merge[1]
63 if int(merge[2]) == 0:
64 merge_count[merge[1]] = merge_count.get(merge[1], 0) + 1
66 merge_n[merge[0]] = int(merge[2])
68 def get_repo(package):
69 if package in merge_map:
70 return get_repo(merge_map[package])
71 return 'packages/%s.git' % package
73 def get_branch(package):
74 if package in merge_map:
75 if package in merge_n or merge_count[merge_map[package]] > 1:
77 return get_branch(merge_map[package])
80 def get_tag_prefix(package):
81 if package in merge_map:
82 return '%s/' % package
87 create repository ${repo}.git
92 match /package_tags/sipb-xen-dev/sipb-xen-dev(/|$)
95 match /package_tags/sipb-xen-console/2(/|$)
100 match /package_tags/sipb-xen-console/7.1/sipb-xen-console(/|$)
105 match /package_tags/sipb-xen-guest-installer/1.0/sipb-xen-guest-installer(/|$)
110 match /package_tags/sipb-xen-dev/14/sipb-xen-dev(/|$)
115 match /trunk/packages/sipb-xen-autoinstaller(/|$)
120 % for package in packages:
122 % if package == 'sipb-xen-database':
123 match /trunk/packages/${package}/${package}-0(/|$)
124 repository ${get_repo(package)}
125 branch ${get_branch(package)}
130 % if package in doubled_packages:
131 match /trunk/packages/${package}/${package}(/|$)
132 repository ${get_repo(package)}
133 branch ${get_branch(package)}
134 max revision ${doubled_packages[package][0] - 1}
137 match /package_tags/${package}/([^/~]+)/${package}(/|$)
138 repository ${get_repo(package)}
139 branch tags/${get_tag_prefix(package)}\1
140 max revision ${doubled_packages[package][0] - 1}
143 match /trunk/packages/tmp/${package}(/|$)
144 min revision ${doubled_packages[package][0]}
145 max revision ${doubled_packages[package][0]}
148 match /trunk/packages/${package}(/|$)
149 min revision ${doubled_packages[package][1]}
150 max revision ${doubled_packages[package][1]}
154 match /trunk/packages/${package}(/|$)
155 repository ${get_repo(package)}
156 branch ${get_branch(package)}
157 % if package in doubled_packages:
158 min revision ${doubled_packages[package][1] + 1}
160 % if package in punt:
161 max revision ${punt[package] - 1}
165 match /package_tags/${package}/([^/~]+)(/|$)
166 repository ${get_repo(package)}
167 branch tags/${get_tag_prefix(package)}\1
168 % if package in doubled_packages:
169 min revision ${doubled_packages[package][1]}
173 match /package_tags/${package}/([^/~]+)~([^/~]+)(/|$)
174 repository ${get_repo(package)}
175 branch tags/${get_tag_prefix(package)}\1_\2
176 % if package in doubled_packages:
177 min revision ${doubled_packages[package][1]}
183 match /trunk/packages/(xen-common|xen-3.1)(/|$)
186 match /package_tags/(xen-common|xen-3.1)(/|$)
189 match /trunk/dhcp(/|$)
190 repository ${get_repo('sipb-xen-dhcp')}
191 branch ${get_branch('sipb-xen-dhcp')}
195 match /trunk/web(/|$)
196 repository ${get_repo('sipb-xen-www')}
197 branch ${get_branch('sipb-xen-www')}
201 match /trunk/vnc/tightvnc-1.3.9_javasrc.zip
204 match /trunk/vnc/vnc_javasrc(/|$)
205 repository ${get_repo('sipb-xen-vnc-client')}
206 branch ${get_branch('sipb-xen-vnc-client')}
210 match /trunk/vnc/vnc_server(/|$)
211 repository ${get_repo('sipb-xen-vnc-server')}
212 branch ${get_branch('sipb-xen-vnc-server')}
216 match /trunk/dns(/|$)
217 repository ${get_repo('sipb-xen-dns')}
222 % for script in scripts:
223 match /trunk/scripts/${script}(/|$)
224 repository scripts/${script}.git
229 match /trunk/scripts(/|$)
230 repository scripts/osx-update.git
236 match /trunk/scripts(/|$)
237 repository scripts/prod-migration.git
242 % for rev in [803, 804, 925, 926, 928, 1537, 1566]:
244 repository doc/xvm.git
251 match /trunk/vmctl(/|$)
254 match /trunk/COPYING$
257 match /branches/wsgi(/|$)