table of contents
Git::Raw::Walker(3pm) | User Contributed Perl Documentation | Git::Raw::Walker(3pm) |
NAME¶
Git::Raw::Walker - Git revwalker class
VERSION¶
version 0.90
SYNOPSIS¶
use Git::Raw; # open the Git repository at $path my $repo = Git::Raw::Repository -> open($path); # create a new walker my $log = $repo -> walker; # push the head of the repository $log -> push_head; # print all commit messages while (my $commit = $log -> next) { say $commit -> message; }
DESCRIPTION¶
A Git::Raw::Walker represents a graph walker used to walk through the repository's revisions (sort of like "git log").
WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).
METHODS¶
create( $repo )¶
Create a new revision walker.
sorting( \@order )¶
Change the sorting mode when iterating through the repository's contents. Values for @order may be one or more of the following:
- "none"
Sort the repository contents in no particular ordering, that is, sorting is arbitrary, implementation-specific and subject to change at any time. (Default)
- "topological"
Sort the repository contents in topological order (parents before children). This sorting mode may be combined with time sorting.
- "time"
Sort the repository contents by commit time. This sorting mode may be combined with topological sorting.
- "reverse"
Iterate through the repository contents in reverse order. This sorting mode may be combined with any of the above.
push( $commit )¶
Push a Git::Raw::Commit to the list of commits to be used as roots when starting a revision walk.
push_glob( $glob )¶
Push references by $glob to the list of commits to be used as roots when starting a revision walk.
push_ref( $name )¶
Push a reference by $name to the list of commits to be used as roots when starting a revision walk.
push_head( )¶
Push HEAD of the repository to the list of commits to be used as roots when starting a revision walk.
push_range( $start, $end )¶
Push and hide the respective endpoints of the given range. $start and $end should be "commitish", that is, it should be a Git::Raw::Commit or Git::Raw::Reference object, or alternatively a commit id or commit id prefix.
push_range( $range )¶
Push and hide the respective endpoints of the given range. $range should be of the form "start_commit_id..end_commit_id".
hide( $commit )¶
Hide a Git::Raw::Commit and its ancestors from the walker.
hide_glob( $glob )¶
Hide references by $glob and all ancestors from the walker.
hide_ref( $name )¶
Hide a reference by $name and its ancestors from the walker.
hide_head( )¶
Hide HEAD of the repository and its ancestors from the walker.
next( )¶
Retrieve the next commit from the revision walk. Returns a Git::Raw::Commit object or "undef" if there are no commits.
all( )¶
Retrieve all commits. Returns a list of Git::Raw::Commit objects.
reset( )¶
Reset the revision walker (this is done automatically at the end of a walk).
AUTHOR¶
Alessandro Ghedini <alexbio@cpan.org>
LICENSE AND COPYRIGHT¶
Copyright 2012 Alessandro Ghedini.
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.
2024-03-07 | perl v5.38.2 |