NAME
Git::Raw::Reflog - Git reflog class
VERSION
version 0.40
SYNOPSIS
use Git::Raw;
# open the Git repository at $path
my $repo = Git::Raw::Repository -> open($path);
# get the master branch
my $master = Git::Raw::Branch -> lookup($repo, 'master', 1);
# retrieve the reflog for 'master'
my $reflog = $master -> reflog;
# print out reflog information
my @entries = $reflog -> entries;
foreach my $entry (@entries) {
my $committer = $entry -> committer;
print "Committer:", "\n";
print "\t", "Name: ", $committer -> name, "\n";
print "\t", "E-Mail ", $committer -> email, "\n";
print "\t", "Time: ", $committer -> time, "\n";
print "\t", "Offset: ", $committer -> offset, "\n";
print "\n";
print "Message: ", $entry -> message, "\n";
print "Old id: ", $entry -> old_id, "\n";
print "New id: ", $entry -> new_id, "\n";
}
# add a new entry to the reflog
my $signature = Git::Raw::Signature -> default($repo);
$reflog -> append("Hello", $signature);
$reflog -> write;
# drop an entry from the reflog
$reflog -> drop(0);
$reflog -> write;
# remove the reflog
$reflog -> delete;
$reflog -> write;
DESCRIPTION
A Git::Raw::Reflog
represents a Git reflog.
WARNING: The API of this module is unstable and may change without warning (any change will be appropriately documented in the changelog).
METHODS
open( $reference )
Open the reflog for the reference $reference
.
delete( )
Delete the reflog for the reference.
append( $message [, $signature])
Add a new entry to the reflog. If $signature
is not provided, the default signature, Git::Raw::Signature->default()
will be used.
drop( $index )
Remove entry $index
from the reflog.
write( )
Write the reflog back to disk.
entries( )
Retrieve a list of reflog entries. Each entry is a hash with the following members:
"committer"
The committer of the entry, a Git::Raw::Signature object.
"message"
The message for the entry.
"new_id"
The new
OID
for the entry."old_id"
The old
OID
for the entry.
AUTHOR
Alessandro Ghedini <alexbio@cpan.org>
LICENSE AND COPYRIGHT
Copyright 2014 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.