blob: 66609750dea1d07a1acaec7b3ab37b0fc0a3f012 [file] [log] [blame]
#!/usr/bin/python
# Simple minded script for generating exclude rules for the cvs2svn options file
# Broken tags/branches, force them to branch
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO614B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO619B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO613B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'SRX643_OO\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO627B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO625B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'mws_srx644\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OpenOffice609-FU\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'mws_srx645\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO633B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO638B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OO632B\'))'
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'SRC605\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'SRC680_m201\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OpenOffice605\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OpenOffice609\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'SRC680_m180\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'SRC680_m216\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'SRC680_m231\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'ooo220\'))' # has commits
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'src641pp2\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'src612\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'OOO_STABLE_1_PORTS\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'my_testbranch\'))' # has commits, can't be blocked
# The following symbols can't be excluded because they blocked and need to be forced to a branch because they have commits on them
# These symbols also need to be removed from the automatically generated exclude list, see below
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_srx645_obr02\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_src680_tl12\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_srx644_cd5\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_srx644_ooo11beta\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_src680_dba201b\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_src680_recovery04\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_src680_tl04\'))' # has commits, can't be blocked
print 'ctx.symbol_strategy.add_rule(ForceBranchRegexpStrategyRule(\'cws_src680_latex\'))' # has commits, can't be blocked
# Broken tags/branches, force them to tag
print 'ctx.symbol_strategy.add_rule(ForceTagRegexpStrategyRule(\'OpenOffice643\'))'
print 'ctx.symbol_strategy.add_rule(ForceTagRegexpStrategyRule(\'OpenOffice641D\'))'
print 'ctx.symbol_strategy.add_rule(ForceTagRegexpStrategyRule(\'CWS_SRC680_UNXSPLASH_ANCHOR\'))'
# exclude the following tags
# 'srx642_2' is a tag in 1 files, a branch in 42 files and has commits in 3 files
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'srx642_2\'))'
# 'POST_MWS_SRX644_HEAD_MIGRATION' is a tag in 39334 files, a branch in 148 files and has commits in 222 files
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'POST_MWS_SRX644_HEAD_MIGRATION\'))'
# 'reviewed' is a tag in 1754 files, a branch in 8 files and has commits in 0 files
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'reviewed\'))'
# 'l10n_pp3_merge' is a tag in 1031 files, a branch in 253 files and has commits in 6 files
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'l10n_pp3_merge\'))'
# 'staroffice7pp2' is a tag in 1961 files, a branch in 2 files and has commits in 0 files
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'staroffice7pp2\'))'
# 'test' is a tag in 51 files, a branch in 1 files and has commits in 0 files
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'test\'))'
# the following symbols (branches/tags) can't be exluded because they are blocked
blocked = ['obr02', 'ooo11beta', 'recovery04', 'cd5', 'latex', 'tl04', 'dba201b', 'tl12']
blocked_set = set(blocked)
# options for exclusion of all integrated, cancelled, deleted and finished CWS
inf = open('cws_done.csv', 'r')
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'unknown-.*\'))'
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'Initial_Import\'))'
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'SMI\'))'
try:
for line in inf.readlines():
cws = line.partition(',')[0].strip('"')
cws_up = cws.upper()
if cws == 'NAME': # skip column title
continue
if cws.find('_') != -1: # exclude all cloned CWS
continue
if cws in blocked_set: # exclude all blocked CWS names
continue
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'cws_.*_' + cws + '\'))'
print 'ctx.symbol_strategy.add_rule(ExcludeRegexpStrategyRule(\'CWS_.*_' + cws_up + '_ANCHOR\'))'
finally:
inf.close()