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', 'scripts/install-invirt']
14 for package in packages:
15 if 'merge' in packages[package]:
16 repos.remove('packages/%s' % package)
18 def get_repo(package):
19 if 'merge' in packages[package]:
20 return get_repo(packages[package]['merge'])
21 return 'packages/%s.git' % package
23 def get_branch(package):
24 if 'branch' in packages[package]:
25 return packages[package]['branch']
26 if 'merge' in packages[package]:
27 return get_branch(packages[package]['merge'])
30 def get_tag_prefix(package):
31 if 'merge' in packages[package]:
32 return '%s/' % package
37 create repository ${repo}.git
42 % for quash in quashes:
43 match ${quash['path']}
44 min revision ${quash['rev']}
45 max revision ${quash['rev']}
49 % for package in packages:
51 % if package == 'sipb-xen-database':
52 match /trunk/packages/${package}/${package}-0/
53 repository ${get_repo(package)}
54 branch ${get_branch(package)}
59 % if 'undouble' in packages[package]:
60 match /trunk/packages/${package}/${package}/
61 repository ${get_repo(package)}
62 branch ${get_branch(package)}
63 max revision ${packages[package]['undouble'][0] - 1}
66 match /package_tags/${package}/([^/~]+)/${package}/
67 repository ${get_repo(package)}
68 branch tags/${get_tag_prefix(package)}\1
69 max revision ${packages[package]['undouble'][0] - 1}
72 match /trunk/packages/tmp/${package}/
73 min revision ${packages[package]['undouble'][0]}
74 max revision ${packages[package]['undouble'][0]}
77 match /trunk/packages/${package}/
78 min revision ${packages[package]['undouble'][1]}
79 max revision ${packages[package]['undouble'][1]}
83 match /trunk/packages/${package}/
84 repository ${get_repo(package)}
85 branch ${get_branch(package)}
86 % if 'undouble' in packages[package]:
87 min revision ${packages[package]['undouble'][1] + 1}
89 % if 'punt' in packages[package]:
90 max revision ${packages[package]['punt'] - 1}
94 match /package_tags/${package}/([^/~]+)/
95 repository ${get_repo(package)}
96 branch tags/${get_tag_prefix(package)}\1
97 % if 'undouble' in packages[package]:
98 min revision ${packages[package]['undouble'][1]}
102 match /package_tags/${package}/([^/~]+)~([^/~]+)/
103 repository ${get_repo(package)}
104 branch tags/${get_tag_prefix(package)}\1_\2
105 % if 'undouble' in packages[package]:
106 min revision ${packages[package]['undouble'][1]}
112 match /trunk/packages/(xen-common|xen-3.1)/
115 match /package_tags/(xen-common|xen-3.1)/
118 % for trunk in trunks:
119 % if 'inclusive' in trunks[trunk]:
120 match /trunk/${trunk}(/|$)
122 match /trunk/${trunk}/
124 repository ${get_repo(trunks[trunk]['merge'])}
125 % if 'branch' in trunks[trunk]:
126 branch ${trunks[trunk]['branch']}
128 branch ${get_branch(trunks[trunk]['merge'])}
130 % if 'inclusive' in trunks[trunk]:
131 max revision ${trunks[trunk]['punt']}
133 max revision ${trunks[trunk]['punt'] - 1}
138 match /trunk/vnc/tightvnc-1.3.9_javasrc.zip
141 % for script in scripts:
142 match /trunk/scripts/${script}/
143 repository scripts/${script}.git
148 match /trunk/scripts/
149 repository scripts/osx-update.git
155 match /trunk/scripts/
156 repository scripts/install-invirt.git
162 match /trunk/scripts/
163 repository scripts/prod-migration.git
173 % for rev in [803, 804, 925, 926, 928, 1537, 1566]:
175 repository doc/xvm.git
185 match /trunk/COPYING$
188 match /branches/wsgi/