NAME
Git::Raw::Graph - Git graph class
VERSION
version 0.90
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
)) {
$commit1
-> id,
' is a descendant of '
,
$commit2
-> id,
"\n"
;
}
else
{
$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@cpan.org>
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.