Alien-SVN
view release on metacpan or search on metacpan
src/subversion/subversion/tests/cmdline/svntest/factory.py view on Meta::CPAN
# registration of new WC dirs
sorted_names = self.get_sorted_other_wc_dir_names()
for name in sorted_names:
init += name + ' = ' + self.other_wc_dirs[name][0] + '\n'
if len(init) > 0:
init += '\n'
# general variable definitions
sorted_names = self.get_sorted_var_names()
for name in sorted_names:
init += name + ' = ' + self.vars[name][0] + '\n'
# Insert at the first line, being the spacer from above
if len(init) > 0:
self.lines[0][1] = init
# This usually goes to make() below (outside this class)
return self.lines
except:
for line in self.lines:
if line[1] is not None:
print(line[1])
raise
def print_script(self, stream=sys.stdout):
"Output the resulting script of the preceding make() call"
if self.lines is not None:
for line in self.lines:
if line[1] is None:
# fall back to just that line as it was in the source
stripped = line[0].strip()
if not stripped.startswith('#'):
# for comments, don't say this:
stream.write(" # don't know how to handle:\n")
stream.write(" " + line[0].strip() + '\n')
else:
if line[0] is not None:
stream.write( wrap_each_line(line[0].strip(),
" # ", " # ", True) + '\n')
stream.write(wrap_each_line(line[1], " ", " ", False) + '\n\n')
else:
stream.write(" # empty.\n")
stream.flush()
# End of public functions.
# "Shell" command handlers:
def switch(self, line):
"Given one input line, delegates to the appropriate sub-functions."
args = shlex.split(line)
if len(args) < 1:
return ""
first = args[0]
# This is just an if-cascade. Feel free to change that.
if first == 'svn':
second = args[1]
if second == 'add':
return self.cmd_svn(args[1:], False, self.keep_args_of)
if second in ['changelist', 'cl']:
keep_count = 2
if '--remove' in args:
keep_count = 1
return self.cmd_svn(args[1:], False, self.keep_args_of, keep_count)
if second in ['status','stat','st']:
return self.cmd_svn_status(args[2:])
if second in ['commit','ci']:
return self.cmd_svn_commit(args[2:])
if second in ['update','up']:
return self.cmd_svn_update(args[2:])
if second in ['switch','sw']:
return self.cmd_svn_switch(args[2:])
if second in ['copy', 'cp',
'move', 'mv', 'rename', 'ren']:
return self.cmd_svn_copy_move(args[1:])
if second in ['checkout', 'co']:
return self.cmd_svn_checkout(args[2:])
if second in ['propset','pset','ps']:
multiline_args = [arg.replace(r'\n', '\n') for arg in args[1:]]
return self.cmd_svn(multiline_args, False,
self.keep_args_of, 3)
if second in ['propget','pget','pg']:
return self.cmd_svn(args[1:], False,
self.keep_args_of, 2)
if second in ['delete','del','remove', 'rm']:
return self.cmd_svn(args[1:], False,
self.keep_args_of + ['--with-revprop'])
# NOTE that not all commands need to be listed here, since
# some are already adequately handled by self.cmd_svn().
# If you find yours is not, add another self.cmd_svn_xxx().
return self.cmd_svn(args[1:], False, self.keep_args_of)
if first == 'echo':
return self.cmd_echo(args[1:])
if first == 'mkdir':
return self.cmd_mkdir(args[1:])
if first == 'rm':
return self.cmd_rm(args[1:])
if first == 'mv':
( run in 1.069 second using v1.01-cache-2.11-cpan-2ed5026b665 )