NAME
updater - a command-line tool to mass-update multiple version-controlled projects
SYNOPSIS
use App::Updater;
my $app = App::Updater->new(...);
exit $app->run ? 0 : 1;
DESCRIPTION
The updater tool provides a unified way to update directory structures containing multiple version-controlled projects (e.g., Git, SVN, etc.). With a single command, users can synchronize all subdirectories to their latest state by automatically executing update commands such as git pull or svn up in each repository. This simplifies and automates the process of keeping multiple projects up to date.
METHODS
This class implements the following methods
backup
$app->backup("./.updater.yml", [...]);
Saves YAML file that contains the data of work directory
execmd
my $ret = $app->execmd("command", "arg1", "arg2", "argn");
Performs execute system commands and returns hash:
{
command => 'noop',
status => 1,
err_msg => '',
err => '',
out => '',
}
- command
-
The system command string
- status
-
Status: 1 - Ok, 0 - Error
- err_msg
-
System error message, no
STDERR! - err
-
STDERRin string format - out
-
STDOUTin string format
init_makefile
$app->init_makefile();
$app->init_makefile(FORCE_INIT);
Initializes Makefile file to make updates easier
raise
return $app->raise("Mask %s", "val");
return $app->raise("val");
Prints message to STDERR
restore
$app->restore("./.updater.yml");
Loads YAML file that contains the data of work directory and restore each project of this file
startup
Acrux application internal startup method
update
$app->update($rule, $dir, @commands);
Performs update projects of work directory
HISTORY
See Changes file
TO DO
See TODO file
SEE ALSO
AUTHOR
Serż Minus (Sergey Lepenkov) https://www.serzik.com <abalama@cpan.org>
COPYRIGHT
Copyright (C) 1998-2025 D&D Corporation. All Rights Reserved
LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See LICENSE file and https://dev.perl.org/licenses/