#!/usr/bin/perl use strict; use warnings; # Copyright 2012 Grant Street Group, All Rights Reserved. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # PODNAME: gitc-diff-versions # ABSTRACT: Show a diff between two version tags our $VERSION = '0.60'; # VERSION use App::Gitc::Util qw( current_branch current_branch_version is_valid_ref project_config version_tag_prefix ); die "Project doesn't support version tagging" unless project_config()->{use_version_tags}; my ($branch, @versions) = @ARGV; die "Unknown branch $branch" unless $branch =~ /^(master|test|stage|prod)$/; push @versions, current_branch_version( $branch ) if @versions == 1; @versions = map { version_tag_prefix( $branch ) . $_ } @versions; for my $version_tag (@versions) { die "'$version_tag' is not a valid Git tag\n" if not is_valid_ref($version_tag); } exec "git diff --no-prefix @versions"; __END__ =pod =head1 NAME gitc-diff-versions - Show a diff between two version tags =head1 VERSION version 0.60 =head1 AUTHOR Grant Street Group <developers@grantstreet.com> =head1 COPYRIGHT AND LICENSE This software is Copyright (c) 2013 by Grant Street Group. This is free software, licensed under: The GNU Affero General Public License, Version 3, November 2007 =cut