File: Branch.pm

package info (click to toggle)
libgit-raw-perl 0.87%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 1,464 kB
  • sloc: perl: 5,404; ansic: 182; makefile: 6
file content (92 lines) | stat: -rw-r--r-- 2,542 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package Git::Raw::Branch;
$Git::Raw::Branch::VERSION = '0.87';
use strict;
use warnings;

use Git::Raw;

=head1 NAME

Git::Raw::Branch - Git branch class

=head1 VERSION

version 0.87

=head1 SYNOPSIS

    use Git::Raw;

    # open the Git repository at $path
    my $repo = Git::Raw::Repository -> open($path);

    # create a new branch named 'some_branch'
    $repo -> branch('some_branch', $repo -> head -> target);

=head1 DESCRIPTION

Helper class for branch manipulation. Note that a Git branch is nothing more
than a L<Git::Raw::Reference>, so this class inherits all methods from it.

B<WARNING>: The API of this module is unstable and may change without warning
(any change will be appropriately documented in the changelog).

=head1 METHODS

=head2 create( $repo, $name, $target )

Create a new branch given a name and a target object (either a
L<Git::Raw::Commit> or a L<Git::Raw::Tag>).

=head2 lookup( $repo, $name, $is_local )

Retrieve the branch corresponding to the given branch name.

=head2 move( $name, $force )

Rename the branch to C<$name>. Note that in order to get the updated branch
object, an additional C<Git::Raw::Branch-E<gt>lookup()> is needed.

=head2 upstream( [$upstream] )

Retrieve or set the reference supporting the remote tracking branch, given the
local branch. If there is no corresponding supporting reference, this function
will return C<undef>. C<$upstream> may either be a L<Git::Raw::Reference>, a
string containing the upstream reference name or C<undef>. If C<$upstream> is
set to C<undef>, the remote tracking branch association is removed.

=head2 upstream_name( )

Return the name of the reference supporting the remote tracking branch, given
the the local branch. If there is no associated remote tracking branch, this
function will return C<undef>.

=head2 remote_name( )

Return the name of remote that the remote tracking branch belongs to, given
the local branch. If there is no associated remote tracking branch, this
function will return C<undef>.

=head2 is_head( )

Check if the current local branch is pointed at by HEAD.

=head1 AUTHOR

Alessandro Ghedini <alexbio@cpan.org>

Jacques Germishuys <jacquesg@striata.com>

=head1 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.

=cut

1; # End of Git::Raw::Branch