File Coverage

blib/lib/Git/Raw/Rebase/Operation.pm
Criterion Covered Total %
statement 25 26 96.1
branch 2 4 50.0
condition n/a
subroutine 7 7 100.0
pod n/a
total 34 37 91.8


line stmt bran cond sub pod time code
1             package Git::Raw::Rebase::Operation;
2             $Git::Raw::Rebase::Operation::VERSION = '0.87';
3 35     61   225 use strict;
  35         69  
  35         1027  
4 35     51   168 use warnings;
  35         63  
  35         755  
5 35     35   173 use Carp;
  35         58  
  35         5925  
6              
7             sub AUTOLOAD {
8             # This AUTOLOAD is used to 'autoload' constants from the constant()
9             # XS function.
10              
11 12     12   212 my $constname;
12 12         15 our $AUTOLOAD;
13 12         80 ($constname = $AUTOLOAD) =~ s/.*:://;
14 12 50       40 croak "&Git::Raw::Rebase::Operation::constant not defined" if $constname eq '_constant';
15 12         120 my ($error, $val) = _constant($constname);
16 12 50       29 if ($error) { croak $error; }
  0         0  
17             {
18 35     35   286 no strict 'refs';
  35         65  
  35         2985  
  12         34  
19 12     16   78 *$AUTOLOAD = sub { $val };
  16         12084  
20             }
21 12         49 goto &$AUTOLOAD;
22             }
23              
24 35     35   218 use Git::Raw;
  35         66  
  35         1311  
25              
26             =head1 NAME
27              
28             Git::Raw::Rebase::Operation - Git rebase operation class
29              
30             =head1 VERSION
31              
32             version 0.87
33              
34             =head1 DESCRIPTION
35              
36             A L represents a git rebase operation.
37              
38             B: The API of this module is unstable and may change without warning
39             (any change will be appropriately documented in the changelog).
40              
41             =head1 METHODS
42              
43             =head2 type( )
44              
45             The type of rebase operation.
46              
47             =head2 id( )
48              
49             The commit ID being cherry-picked. This will return C for C
50             operations.
51              
52             =head2 exec( )
53              
54             The executable the user has requested to run. This will return C for all
55             but C operations.
56              
57             =head1 CONSTANTS
58              
59             =head2 PICK
60              
61             The given commit is to be cherry-picked. The client should commit the changes
62             and continue if there are no conflicts.
63              
64             =head2 REWORD
65              
66             The given commit is to be cherry-picked, but the client should prompt the user
67             to provide an updated commit message.
68              
69             =head2 EDIT
70              
71             The given commit is to be cherry-picked, but the client should stop to allow the
72             user to edit the changes before committing them.
73              
74             =head2 SQUASH
75              
76             The given commit is to be squashed into the previous commit. The commit message
77             will be merged with the previous message.
78              
79             =head2 FIXUP
80              
81             The given commit is to be squashed into the previous commit. The commit message
82             from this commit will be discarded.
83              
84             =head2 EXEC
85              
86             No commit will be cherry-picked. The client should run the given command and
87             (if successful) continue.
88              
89             =head1 AUTHOR
90              
91             Jacques Germishuys
92              
93             =head1 LICENSE AND COPYRIGHT
94              
95             Copyright 2016 Jacques Germishuys.
96              
97             This program is free software; you can redistribute it and/or modify it
98             under the terms of either: the GNU General Public License as published
99             by the Free Software Foundation; or the Artistic License.
100              
101             See http://dev.perl.org/licenses/ for more information.
102              
103             =cut
104              
105             1; # End of Git::Raw::Rebase::Operation