Security Advisories (3)
CVE-2016-10128 (2017-03-24)

Buffer overflow in the git_pkt_parse_line function in transports/smart_pkt.c in the Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to have unspecified impact via a crafted non-flush packet.

CVE-2016-10129 (2017-03-24)

The Git Smart Protocol support in libgit2 before 0.24.6 and 0.25.x before 0.25.1 allows remote attackers to cause a denial of service (NULL pointer dereference) via an empty packet line.

CVE-2016-10130 (2017-03-24)

The http_connect function in transports/http.c in libgit2 before 0.24.6 and 0.25.x before 0.25.1 might allow man-in-the-middle attackers to spoof servers by leveraging clobbering of the error variable.

NAME

Git::Raw::Graph - Git graph class

VERSION

version 0.72

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.