The following functions are available:
run_tla, run_cmd, run_pipe_from, load_file, save_file, copy_dir, remove_dir, setup_config_dir,
standardize_date, date2daysago, date2age, parse_creator_email, adjacent_revision.
The system functions die on errors.
is_tla_functional
Verify whether the system has a working arch backend installed (and possibly configured by
environment variables, like TLA or ARCH_BACKEND), needed for this perl library to function.
run_tlasubcommand_with_argsrun_tlasubcommand arg ...
Run the given tla subcommand with optional arguments. Return the tla output in the scalar context,
and a list of chomp-ed lines in the list context.
run_cmdshell_command_with_argsrun_cmdshell_commandarg ...
Run the given shell command (like wc or awk) with optional arguments. Return the command output in
the scalar context, and a list of chomp-ed lines in the list context.
run_tla is implemented using run_cmd.
run_pipe_fromshell_command_with_argsrun_pipe_fromshell_commandarg ...
Run the given shell command (like ls or tar) with optional arguments in the separate process. Return
the pipe (file handle) that may be used to read the command output from.
run_cmd is implemented using run_pipe_from.
load_filefile_nameload_filefile_namescalar_refload_filefile_namearray_ref
Load the given file_name. Return the file content if the returning value is expected. As a side
effect, may modify the scalar_ref or array_ref if given, in the last case all file lines are split
and chomp-ed.
save_filefile_namecontent
Save the given content in the given file_name. The content may be either scalar, scalar ref, or array
ref (see load_file).
copy_dirdir1dir2
Copy dir1 to dir2 recursivelly, preserving as many attributes as possible.
remove_dirdir ..
Remove dir (or dirs) recusivelly. Please be careful.
setup_config_dirsetup_config_dirdirsetup_config_dirdirsubdir ...
Create (if needed) the configuration dir that defaults to either $ARCH_MAGIC_DIR or ~/.arch-magic or
/tmp/.arch-magic if $HOME is unset.
If one or more consecutive subdir given, repeat the same procedure for the sub-directory (including
creating and diagnostics if needed).
Return a name of the existing directory (including sub-directories if any).
standardize_datedefault_unix_date_string
Try to convert the given date string to "yyyy-mm-dd HH:MM:SS TMZ". If failed, the original string is
returned.
date2daysagodate_string
Convert a date string to time difference to now in full days.
In list content, return (num_days_ago, unix_time, timezone_str).
date2agedate_string
Like date2daysago, but return a human readable string, like "5 days" or "-6 weeks" or "7 months" or
"3 years".
parse_creator_emailmy_id
Try to parse the archmy-id of the patch creator. Return a list of his/her name and email.
adjacent_revisionfull_revisionoffset
Given the full_revision and positive or negative offset, try to guess the full name of the adjacent
revision.