NAME
Git::LowLevel - LowLevel Blob/Tree/Commit operations on a GIT Repository
VERSION
version 0.4
DESCRIPTION
Git::LowLevel is a Perl Module for using gits low level functions to create and read blobs, trees, commits and references.
Git::LowLevel is not intended to be used for script based committing or something like that.
It main indent is to create/read references and their trees while you have checked out abother branch.
EXAMPLE1
use Git::LowLevel;
my $repository = Git::LowLevel->new(git_dir => "/tmp/repo");
my $ref = $repository->getReference("refs/heads/master");
my $tree = $ref->getTree();
die ("reference does not exist") unless $ref->exist();
die ("no files in tree") unless !$tree->empty();
my $blob = $tree->find("/doc/doxygen.conf");
die("no blob found") unless defined($blob) && ref($blob) eq "Git::LowLevel::Blob";
print $blob->content;
EXAMPLE2
use Git::LowLevel;
my $repository = Git::LowLevel->new(git_dir => "/tmp/repo");
my $ref = $repository->getReference("refs/heads/master");
my $tree = $ref->getTree();
my $newblob = $tree->newBlob();
$newblob->path("hello");
$newblob->_content("Hello World");
$tree->add($newblob);
$ref->commit("added hello");
ATTRIBUTES
git_dir
directory of the git repository
gitcmd
path to the git command, default is to search in your path
bare
private attribute
holds the value if this repository is a bare one or not
METHODS
_isGit
private method
checks if git_dir is a git repository
BUILD
private method
called after new for internal setup
getReference
returns a reference object from the given reference path
@param none
@return Git::LowLevel::Reference object
AUTHOR
Dominik Meyer <dmeyer@federationhq.de>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2018 by Dominik Meyer.
This is free software, licensed under:
The GNU General Public License, Version 2, June 1991