logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Git::Raw::Reflog - Git reflog class

Author

       Alessandro Ghedini <alexbio@cpan.org>

       Jacques Germishuys <jacquesg@cpan.org>

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.

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

See Also