---
name: "Git::Raw::Reflog"
section: "3pm"
platform: "linux"
package: "libgit-raw-perl"
version: "0.90+ds-3+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Git::Raw::Reflog"
---

# Git::Raw::Reflog(3pm)

Git reflog class

## NAME

Git::Raw::Reflog - Git reflog class

## VERSION

version 0.90

## 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.

### entry\_count( )

Retrieve the number of entries in the reflog.

### entries( \[$index, $count\] )

Retrieve a list of Git::Raw::Reflog::Entry objects.

## AUTHOR

Alessandro Ghedini \<alexbio@cpan.org\>

Jacques Germishuys \<jacquesg@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.
