#!perl -w

# Copyright (C) 1997 Capella Computers Ltd.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# 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 General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

# :FILE:
# List all versions.

use strict;
use English;
use P4;

# Takes no arguments.
sub usage {
    P4::crash("Usage: p4vl");
}

# Parse command line.
if ($#ARGV >= 0) {
    usage();
}

# Obtain the list of versions. No need to lock since
# this is a single read-only operation.
my %versions = P4::versions();

# Print column titles.
print "Version\tJob\tCreated   \tUser\tReview\tTitle\n";
print "-------\t---\t----------\t----\t------\t-----\n";

# Print all versions, sorted by reverse ID (more recent first).
my $version;
foreach $version (reverse(sort(keys(%versions)))) {

	# Parse record.
	my $record = $versions{$version};
	my $job = $record->{job};
	my $user = $record->{user};
	my $created = $record->{created};
	my $reviewer = $record->{reviewer};
	my $title = $record->{title};

	# Print it nicely.
	print ' ', $version, "\t";
	print $job, "\t";
	print $created, "\t";
	print $user, "\t";
	print $reviewer, "\t";
	print $title, "\n";
}

# Be nice.
1;