summaryrefslogtreecommitdiffstats
path: root/src/build/tools/gerrit_fetch
blob: b51deb9bf10deaae6846d9c07462b1e071e1da79 (plain)
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
#!/usr/bin/perl
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# $Source: src/build/tools/gerrit_fetch $
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2015
# [+] International Business Machines Corp.
#
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
# implied. See the License for the specific language governing
# permissions and limitations under the License.
#
# IBM_PROLOG_END_TAG

use strict;
use Getopt::Long qw(:config pass_through);
use Data::Dumper;
# Include custom modules
use lib "$ENV{'PERLMODULES'}";
use ToolInit;
use GitUtil;

# Grab initial globals from ToolInit module
my %globals = init_globals;
my $commit = "";

GetOptions("commit:s" => \$commit,
           "branch:s" => \$globals{branch});

if ($module_script eq "")
{
    die "Don't call modelTool directly, run through module script";
}
if ($help)
{
    execute_help();
}
elsif($commit ne "")
{
    my $git_root = GitUtil::root();
    GitUtil::fetch($git_root,
                   GitUtil::remote($git_root,$globals{gerrit_project}),
                   $commit, $globals{gerrit_project}, $globals{branch}, 1);
}
else
{
    die "Missing commit" if ($commit eq "");
}

############################## Begin Actions ##################################

sub execute_help
{
    print "  Usage:\n";
    print "      $module_script gerrit_fetch [options]\n";
    print "\n  Tool to allow developers to fetch commits from gerrit via\n";
    print "  Change-id or commit number\n";
    print "\n";
    print "  Options:\n";
    print "      --commit=<commit>  Commit or change-id to fetch [required].\n";
    print "      --branch=<name>    Branch in $globals{gerrit_project} [optional].\n";
    print "  Global options:\n";
    print "      --debug     Enable debug mode.\n";
    print "      --help      Display help on a specific tool.\n";
    print "  Note: Generally a <commit> can be any git or gerrit reference\n";
    print "        A git commit number, tag, branch, or a gerrit change-id\n";
    print "        are all valid, but they must exist in the gerrit server\n";

}
OpenPOWER on IntegriCloud