summaryrefslogtreecommitdiffstats
path: root/src/build/tools/hb-compare-levels
blob: 9df1e4b1ca043f95b13f9c44272c6a02ecd7d9b4 (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
#!/usr/bin/perl
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# $Source: src/build/tools/hb-compare-levels $
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2016
# [+] 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);

my $help = "";
my %globals = ();
GetOptions("help" => \$help,
           "base:s" => \$globals{base},
           "ref:s" => \$globals{ref},
           "pretty" => \$globals{pretty});

print "Missing base" if $globals{base} eq "";
print "Missing reference" if $globals{ref} eq "";

if ($help || ($globals{base} eq "") || ($globals{ref} eq ""))
{
    print "hb-compare-levels:\n";
    print "    Get differences between git references in a simple format.\n";
    print "    Primarily used with hostboot releases.\n";
    print "\n";
    print "    Syntax:\n";
    print "        hb-compare-levels [options] --base <base-git-ref> --ref <git-ref> [optional:--pretty]\n";
    print "\n";
    print "    Global options:\n";
    print "        --help      Display help on a specific tool.\n";
    print "\n";

    exit;
}

foreach my $arg (@ARGV)
{
    print "Unprocessed arg: $arg\n";
}

if ($globals{pretty})
{
    system("git rev-list $globals{ref} ^$globals{base} | xargs -n1 git log -n1 --pretty=format:\'%Cred%h%Creset - %s %Cgreen(%cr) %C(bold blue)<%an>%Creset\' --abbrev-commit");
}
else
{
    system("git rev-list $globals{ref} ^$globals{base} | xargs -n1 git log -n1 | cat");
}
OpenPOWER on IntegriCloud