NAME
Git::Annex::BatchCommand - Perl interface to git-annex --batch commands
VERSION
version 0.008
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"
);
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.
AUTHOR
Sean Whitton <spwhitton@spwhitton.name>
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