App-Multigit
view release on metacpan or search on metacpan
NAME
App::Multigit - Run commands on a bunch of git repositories without
having to deal with git subrepositories.
PACKAGE VARS
%BEHAVIOUR
This holds configuration set by options passed to the mg script itself.
Observe that mg [options] command [command-options] will pass options
to mg, and command-options to mg-command. It is those options that will
affect %BEHAVIOUR.
Scripts may also therefore change %BEHAVIOUR themselves, but it is
probably badly behaved to do so.
report_on_no_output
Defaults to true; this should be used by scripts to determine whether
to bother mentioning repositories that gave no output at all for the
given task. If you use App::Multigit::Repo::report, this will be
honoured by default.
Controlled by the MG_REPORT_ON_NO_OUTPUT environment variable.
ignore_stdout
ignore_stderr
These default to false, and will black-hole these streams wherever we
have control to do so.
Controlled by the MG_IGNORE_{STDOUT,STDERR} environment variables.
concurrent_processes
Number of processes to run in parallel. Defaults to 20.
Controlled by the MG_CONCURRENT_PROCESSES environment variable.
skip_readonly
Do nothing to repositories that have readonly = 1 set in .mgconfig.
Controlled by the MG_SKIP_READONLY environment variable.
@SELECTED_REPOS
If this is not empty, it should contain paths to repositories. Relative
paths will be determined relative to <mg_root|/mg_root>.
Instead of using the .mgconfig, the directories in here will be used as
the list of repositories on which to work.
Each repository's origin remote will be interrogated. If this exists in
the .mgconfig then it will be used as normal; otherwise, it will be
treated as though it had the default configuration.
FUNCTIONS
These are not currently exported.
mgconfig
Returns .mgconfig. This is a stub to be later configurable, but also to
stop me typoing it all the time.
mg_parent
Tries to find the closest directory with an mgconfig in it. Dies if
there is no mgconfig here. Optionally accepts the directory to start
with.
all_repositories
Returns a hashref of all repositories under mg_parent.
The keys are the repository directories relative to mg_parent, and the
values are the hashrefs from the config, if any.
selected_repositories
This returns the repository configuration as determined by
<@SELECTED_REPOS|/@SELECTED_REPOS>. Directories that exist in the main
( run in 1.958 second using v1.01-cache-2.11-cpan-437f7b0c052 )