Arch::Backend - Arch backend feature specific functions
use Arch::Backend qw(arch_backend is_baz has_file_diffs_cmd);
my $exe = arch_backend();
print "Not in tree, try '$exe init-tree'\n";
my $version = Arch::Backend::arch_backend_version;
print "Using baz $version as a backend\n" if is_baz();
my $cmd = has_file_diffs_cmd()
? "file-diffs"
: "file-diff";
Arch::Util::run_tla($cmd, $filename);
A set of helper functions suitable for GNU Arch related projects
in Perl.
Higher (object oriented) levels of Arch/Perl library make use of
these helper functions to query certain aspects (like incompatible features)
of the actual arch backend used.
The following functions are available:
arch_backend, arch_backend_name,
arch_backend_version, is_tla, is_baz,
has_archive_setup_cmd, has_file_diffs_cmd,
has_register_archive_name_arg, has_tree_version_dir_opt,
has_tree_id_cmd, has_set_tree_version_cmd,
has_cache_feature, get_cache_config,
has_commit_version_arg, has_commit_files_separator,
has_revlib_patch_set_dir.
- arch_backend
[exe]
- Return or set the arch backend executable, like "/opt/bin/tla"
or "baz-1.3".
By default, the arch backend executable is taken from
environment variable $ARCH_BACKEND (or
$TLA, or $BAZ). If no
environment variable is set, then "tla" is used.
- arch_backend_name
- Return the brand name of the arch backend, "tla" or
"baz".
- arch_backend_version
- Return the arch backend version, like "1.3.1".
- is_tla
- Return true if arch_backend_name is "tla".
- is_baz
- Return true if arch_backend_name is "baz".
- has_archive_setup_cmd
- Return true if the arch backend has "archive-setup" command. baz
removed this command.
- has_file_diffs_cmd
- Return true if the arch backend has "file-diffs" command. It was
renamed to "file-diff" in tla-1.3.
- has_register_archive_name_arg
- Return true if the arch backend's "register-archive" command
supports two positional arguments, one of which is archive name. baz-1.3
removed such syntax; the previous baz versions supported this syntax, but
it was useless, since the archive was accessed anyway.
- has_tree_version_dir_opt
- Return true if the arch backend's "tree-version" command
supports "-d" options. This is true for baz.
- has_tree_id_cmd
- Return true if the arch backend has "tree-id" command. This is
true for baz.
- has_set_tree_version_cmd
- Return true if the arch backend has "set-tree-version" command.
baz removed this command and merged it into "tree-version".
- has_cache_feature
- Return true if the arch backend supports Arch Cache feature. This is true
for baz.
- get_cache_config
- Return hash with the following keys: dir - directory of the local cache
(or undef if not applicable).
- has_commit_version_arg
- Return true if the arch backend's "commit" command supports
version argument. baz-1.4 removed this functionality.
- has_commit_files_separator
- Return true if the arch backend's "commit" command requires
"--" argument to separate files. baz-1.4 removed this
separator.
- has_revlib_patch_set_dir
- Return true if the arch backend's creates ,,patch-set subdirectory in
revision library. baz-1.4 removed this functionality.
This module uses heuristics and does not (intend to) provide the
perfect information. Requires constant updating.
Mikhael Goikhman
(migo@homemail.com--Perl-GPL/arch-perl--devel).
For more information, see tla, baz, Arch.