Git::Raw::Reflog - Git reflog class
Contents
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).
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.
perl v5.40.1 2025-02-22 Git::Raw::Reflog(3pm)
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.
entry_count()
Retrieve the number of entries in the reflog.
entries([$index,$count])
Retrieve a list of Git::Raw::Reflog::Entry objects.
Name
Git::Raw::Reflog - Git reflog class
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;
Version
version 0.90
