Git::Annex::BatchCommand - Perl interface to git-annex --batch commands
Contents
Copyright And License
This software is Copyright (c) 2019-2021 by Sean Whitton <spwhitton@spwhitton.name>.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007
perl v5.40.1 2025-03-04 Git::Annex::BatchCommand(3pm)
Description
This class can be used to run git-annex commands which take the "--batch" option. You can feed the
command lines of input and you will get back git-annex's responses.
The main point of using "--batch" commands from Perl is to keep git-annex running rather than repeatedly
executing new git-annex processes to perform queries or request changes.
Methods
new($annex,$cmd,@args)
Initialise a batch process in Git::Annex $annex, running git-annex subcommand $cmd (e.g. "setpresentkey")
with arguments @args.
You should use Git::Annex::batch in preference to this method.
say($input,...)
Say a line or lines of input to the batch command's standard input. Trailing line breaks in $input are
optional.
In list context, returns a list of git-annex's responses to the items of input, chomped. In scalar
context, returns the last of git-annex's responses, chomped.
ask($input,...)
Synonym for "say" method.
restart
Kill and restart the "--batch" command.
This is sometimes needed to ensure the "--batch" command picks up changes made to the git-annex branch.
Name
Git::Annex::BatchCommand - Perl interface to git-annex --batch commands
Synopsis
# you should not instantiate this class yourself; use Git::Annex::batch
my $annex = Git::Annex->new("/home/spwhitton/annex");
my $batch = $annex->batch("find", "--not", "--in=here");
# see git-annex-find(1) -- `git annex find --batch --not --in here`
# prints an empty string for each file which is not present
say "foo/bar is not present in this repo" unless $batch->ask("foo/bar");
Version
version 0.008
