Git::Raw::Tag - Git tag class
Contents
Description
A Git::Raw::Tag represents an annotated Git tag.
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 2012 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::Tag(3pm)
Methods
create($repo,$name,$msg,$tagger,$target)
Create a new annotated tag given a name, a message, a Git::Raw::Signature representing the tagger and a
target object.
lookup($repo,$id)
Retrieve the tag corresponding to $id. This function is pretty much the same as "$repo->lookup($id)"
except that it only returns tags. If the tag doesn't exist, this function will return "undef".
owner()
Retrieve the Git::Raw::Repository owning the tag.
foreach($repo,$callback,[$type])
Run $callback for every tag in the repo. The callback receives a tag object, which will either a be a
Git::Raw::Tag object for annotated tags, or a Git::Raw::Reference for lightweight tags. $type may be
"all", "annotated" or "lightweight". If $type is not specified or is "undef", all tags will be returned.
A non-zero return value stops the loop.
delete()
Delete the tag. The Git::Raw::Tag object must not be accessed afterwards.
id()
Retrieve the id of the tag, as a string.
name()
Retrieve the name of the tag.
message()
Retrieve the message of the tag.
tagger()
Retrieve the Git::Raw::Signature representing the tag's tagger. If there is no tagger, "undef" will be
returned.
target()
Retrieve the target object of the tag.
Name
Git::Raw::Tag - Git tag class
Synopsis
use Git::Raw;
# open the Git repository at $path
my $repo = Git::Raw::Repository -> open($path);
# retrieve user's name and email from the Git configuration
my $config = $repo -> config;
my $name = $config -> str('user.name');
my $email = $config -> str('user.email');
# create a new Git signature
my $me = Git::Raw::Signature -> now($name, $email);
# create a new tag
my $tag = $repo -> tag(
'v0.1', 'Initial version', $me, $repo -> head -> target
);
Version
version 0.90
