Security Advisories (3)
CVE-2018-10888 (2018-07-10)

A flaw was found in libgit2 before version 0.27.3. A missing check in git_delta_apply function in delta.c file, may lead to an out-of-bound read while reading a binary delta file. An attacker may use this flaw to cause a Denial of Service.

CVE-2018-10887 (2018-07-10)

A flaw was found in libgit2 before version 0.27.3. It has been discovered that an unexpected sign extension in git_delta_apply function in delta.c file may lead to an integer overflow which in turn leads to an out of bound read, allowing to read before the base object. An attacker may use this flaw to leak memory addresses or cause a Denial of Service.

CVE-2018-25032 (2022-03-25)

zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches.

NAME

Git::Raw::Graph - Git graph class

VERSION

version 0.76

SYNOPSIS

use Git::Raw;

# open the Git repository at $path
my $repo = Git::Raw::Repository -> open($path);

my $commit1 = Git::Raw::Commit -> lookup($repo,
  '4a202b346bb0fb0db7eff3cffeb3c70babbd2045');

my $commit2 = Git::Raw::Commit -> lookup($repo,
  '5b5b025afb0b4c913b4c338a42934a3863bf3644');

if (Git::Raw::Graph -> is_descendant_of($repo, $commit1, $commit2)) {
  print $commit1 -> id, ' is a descendant of ', $commit2 -> id, "\n";
} else {
  print $commit1 -> id, ' is a not descendant of ', $commit2 -> id, "\n";
}

DESCRIPTION

WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).

ahead( $repo, $local, $upstream )

Get the commits $local is ahead of $upstream. $local and $upstream should be peelable to a Git::Raw::Commit object, that is, it should be a Git::Raw::Commit or Git::Raw::Reference object, or alternatively a commit id or commit id prefix. This method returns a list of Git::Raw::Commit objects, sorted in topological order.

behind( $repo, $local, $upstream )

Get the commits $local is behind $upstream. $local and $upstream should be peelable to a Git::Raw::Commit object, that is, it should be a Git::Raw::Commit or Git::Raw::Reference object, or alternatively a commit id or commit id prefix. This method returns a list of Git::Raw::Commit objects, sorted in topological order.

ahead_behind( $repo, $local, $upstream )

Get the unique commits between $local and $upstream. $local and $upstream should be peelable to a Git::Raw::Commit object, that is, it should be a Git::Raw::Commit or Git::Raw::Reference object, or alternatively a commit id or commit id prefix. This method returns a hash reference with optional members "ahead" and "behind", each an array of Git::Raw::Commit objects, sorted in topological order.

is_descendant_of( $repo, $commitish, $ancestor )

Determine if $commitish is the descendant of $ancestor. $commitish and $ancestor should be peelable to a Git::Raw::Commit object, that is, it should be a Git::Raw::Commit or Git::Raw::Reference object, or alternatively a commit id or commit id prefix.

AUTHOR

Jacques Germishuys <jacquesg@striata.com>

LICENSE AND COPYRIGHT

Copyright 2014 Jacques Germishuys.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.