Security Advisories (3)
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.

CVE-2020-12279 (2020-04-27)

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. checkout.c mishandles equivalent filenames that exist because of NTFS short names. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1353.

CVE-2020-12278 (2020-04-27)

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. path.c mishandles equivalent filenames that exist because of NTFS Alternate Data Streams. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1352.

NAME

Git::Raw::Graph - Git graph class

VERSION

version 0.83

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.