Security Advisories (3)
CVE-2018-25032 (2022-03-25)

zlib before 1.2.12 allows memory corruption when deflating (i.e., when compressing) if the input has many distant matches.

CVE-2020-12279 (2020-04-27)

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. checkout.c mishandles equivalent filenames that exist because of NTFS short names. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1353.

CVE-2020-12278 (2020-04-27)

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0. path.c mishandles equivalent filenames that exist because of NTFS Alternate Data Streams. This may allow remote code execution when cloning a repository. This issue is similar to CVE-2019-1352.

NAME

Git::Raw::Reflog - Git reflog class

VERSION

version 0.84

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@striata.com>

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.