NAME App::reposdb - Manipulate repos.db VERSION This document describes version 0.007 of App::reposdb (from Perl distribution App-reposdb), released on 2020-10-10. SYNOPSIS See reposdb. DESCRIPTION "repos.db" is a SQLite database that lists repository names along with some extra data. They have various uses, but my first use-case for this is to store last commit/status/pull time (updated via a post-commit git hook or "gitwrap"). This is useful to speed up like syncing of repositories in "Git::Bunch" that wants to find out which of the hundreds/thousand+ git repositories are "the most recently used" to prioritize these repositories first. Using information from "repos.db" is faster than having to "git status" or even stat() each repository. FUNCTIONS add_repo_tag Usage: add_repo_tag(%args) -> [status, msg, payload, meta] Add a tag to a repo (by default the current repo). This function is not exported. Arguments ('*' denotes required arguments): * repo => *str* * reposdb_path* => *str* * tags* => *array[str]* Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. Return value: (any) get_repo_metadata Usage: get_repo_metadata(%args) -> [status, msg, payload, meta] Get metadata for a repo (by default the current repo). This function is not exported. Arguments ('*' denotes required arguments): * repo => *str* * reposdb_path* => *str* Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. Return value: (any) list_repos Usage: list_repos(%args) -> [status, msg, payload, meta] List repositories registered in repos.db. This function is not exported. Arguments ('*' denotes required arguments): * detail => *bool* * has_tags => *array[str]* * lacks_tags => *array[str]* * reposdb_path* => *str* * sorts => *array[str]* (default: ["name"]) Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. Return value: (any) remove_all_repo_tags Usage: remove_all_repo_tags(%args) -> [status, msg, payload, meta] Remove all tags from a repo (by default the current repo). This function is not exported. Arguments ('*' denotes required arguments): * repo => *str* * reposdb_path* => *str* Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. Return value: (any) remove_repo_tag Usage: remove_repo_tag(%args) -> [status, msg, payload, meta] Remove tag from a repo (by default the current repo). This function is not exported. Arguments ('*' denotes required arguments): * repo => *str* * reposdb_path* => *str* * tags* => *array[str]* Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. Return value: (any) touch_repo Usage: touch_repo(%args) -> [status, msg, payload, meta] Touch the timestamp(s) of a repo (by default current repo). This function is not exported. Arguments ('*' denotes required arguments): * commit_time => *bool* * pull_time => *bool* * repo => *str* * reposdb_path* => *str* * status_time => *bool* * to => *date* Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (payload) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information. Return value: (any) HOMEPAGE Please visit the project's homepage at <https://metacpan.org/release/App-reposdb>. SOURCE Source repository is at <https://github.com/perlancar/perl-App-reposdb>. BUGS Please report any bugs or feature requests on the bugtracker website <https://rt.cpan.org/Public/Dist/Display.html?Name=App-reposdb> When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature. AUTHOR perlancar <perlancar@cpan.org> COPYRIGHT AND LICENSE This software is copyright (c) 2020, 2017, 2016 by perlancar@cpan.org. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.