33
if BZR_EXE is not None:
33
if BRZ_EXE is not None:
36
subprocess.call(['bzr', '--version'], stdout=subprocess.PIPE,
36
subprocess.call(['brz', '--version'], stdout=subprocess.PIPE,
37
37
stderr=subprocess.PIPE)
41
subprocess.call(['bzr.bat', '--version'], stdout=subprocess.PIPE,
41
subprocess.call(['brz.bat', '--version'], stdout=subprocess.PIPE,
42
42
stderr=subprocess.PIPE)
45
raise RuntimeError('Could not find bzr or bzr.bat on your path.')
45
raise RuntimeError('Could not find brz or brz.bat on your path.')
49
49
def call_or_fail(*args, **kwargs):
63
63
if TARGET is not None:
65
out = call_or_fail([sys.executable, get_bzr_dir() + '/bzr',
65
out = call_or_fail([sys.executable, get_brz_dir() + '/brz',
66
66
'version', '--short'], stdout=subprocess.PIPE)
67
67
version = out.strip()
68
68
TARGET = os.path.abspath(TARGET_ROOT + '-' + version)
76
76
print "Deleting: %s" % (target,)
77
77
shutil.rmtree(target)
80
return 'bzr.' + VERSIONS['bzr']
84
"""Make sure we have the latest bzr in play."""
85
bzr_dir = get_bzr_dir()
86
if not os.path.isdir(bzr_dir):
87
bzr_version = VERSIONS['bzr']
88
bzr_url = 'lp:bzr/' + bzr_version
89
print "Getting bzr release %s from %s" % (bzr_version, bzr_url)
90
call_or_fail([bzr(), 'co', bzr_url, bzr_dir])
80
return 'brz.' + VERSIONS['brz']
84
"""Make sure we have the latest brz in play."""
85
brz_dir = get_brz_dir()
86
if not os.path.isdir(brz_dir):
87
brz_version = VERSIONS['brz']
88
brz_url = 'lp:brz/' + brz_version
89
print "Getting brz release %s from %s" % (brz_version, brz_url)
90
call_or_fail([brz(), 'co', brz_url, brz_dir])
92
print "Ensuring %s is up-to-date" % (bzr_dir,)
93
call_or_fail([bzr(), 'update', bzr_dir])
92
print "Ensuring %s is up-to-date" % (brz_dir,)
93
call_or_fail([brz(), 'update', brz_dir])
96
96
def create_target():
97
97
target = get_target()
98
98
print "Creating target dir: %s" % (target,)
99
call_or_fail([bzr(), 'co', get_bzr_dir(), target])
99
call_or_fail([brz(), 'co', get_brz_dir(), target])
102
102
def get_plugin_trunk_dir(plugin_name):
116
116
if not os.path.isdir(trunk_dir):
117
117
plugin_trunk = get_plugin_trunk_branch(plugin_name)
118
118
print "Getting latest %s trunk" % (plugin_name,)
119
call_or_fail([bzr(), 'co', plugin_trunk,
119
call_or_fail([brz(), 'co', plugin_trunk,
122
122
print "Ensuring %s is up-to-date" % (trunk_dir,)
123
call_or_fail([bzr(), 'update', trunk_dir])
123
call_or_fail([brz(), 'update', trunk_dir])
136
136
if not os.path.isdir(plugin_name):
137
137
if plugin_name in ('bzr-svn', 'bzr-rewrite'):
138
138
# bzr-svn uses a different repo format
139
call_or_fail([bzr(), 'init-repo', '--rich-root-pack', plugin_name])
139
call_or_fail([brz(), 'init-repo', '--rich-root-pack', plugin_name])
141
141
os.mkdir(plugin_name)
142
142
if os.path.isdir(release_dir):
147
147
# Now create the tagged directory
148
148
tag_name = _plugin_tag_name(plugin_name)
149
149
print "Creating the branch %s" % (release_dir,)
150
call_or_fail([bzr(), 'co', '-rtag:%s' % (tag_name,),
150
call_or_fail([brz(), 'co', '-rtag:%s' % (tag_name,),
151
151
trunk_dir, release_dir])
152
152
return release_dir