#!/usr/bin/perl -w # # $Id: //guest/jeffery_g_smith/perforce/utils/sttop4/python/sortmap.py#1 $ # # StarTeam to Perforce Converter, phase IV: niceties after the fact # # Copyright 1998 Perforce Software. All rights reserved. # Based on VSStoP4: # Written by James Strickland, April 1998 # Maintained by Robert Cowham, since 2000 # Updated to support StarTeam conversions: # Jeffery G. Smith, MedPlus, Inc. 2004-2005 # # This script sorts the mapping output by phase III to be keyed by archive, # then revision number. require 5.0; use strict; use integer; use lib '.'; use convert; convert::openlog('open'); open(MAPPING, "<$convert::metadata_dir/mapping.ns") or die "can't open for read: $!"; open(NEWMAPPING, ">$convert::metadata_dir/mapping") or die "can't open for write: $!"; my (@checkins,$checkin); # read 'em in while(<MAPPING>) { chomp; push @checkins,[ split(/#/,$_,4) ]; } # sort 'em @checkins = sort by_archive_then_revision @checkins; # write 'em out my $last_archive=""; my $archive_count=0; print NEWMAPPING "# This file is sorted by StarTeam file name. # For each file all StarTeam revisions are listed with the associated Perforce # change number and filename.\n"; foreach $checkin (@checkins) { my ($revision,$change_number,$depot_file,$archive) = @$checkin; if($archive ne $last_archive) { print NEWMAPPING "\n\"$archive\"\n"; $last_archive=$archive; $archive_count++; } printf NEWMAPPING "%16s %4d \"%s\"\n",$revision,$change_number,$depot_file; } my $summary = "\n" . scalar(@checkins) . " revisions in $archive_count archives.\n"; print NEWMAPPING $summary; print $summary; sub by_archive_then_revision { my ($archivea,$archiveb); $archivea = $$a[3]; $archiveb = $$b[3]; if($archivea ne $archiveb) { return $archivea cmp $archiveb; } return $$a[0] <=> $$b[0]; }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 5264 | Jeffery G. Smith | Create branch for Python conversion. | ||
//guest/jeffery_g_smith/perforce/utils/sttop4/main/sortmap.pl | |||||
#6 | 4818 | Jeffery G. Smith |
Finished extracting metadata. Improved logging subsystem. |
||
#5 | 4793 | Jeffery G. Smith | Updated sources to more closely match VSStoP4 baseline. | ||
#4 | 4710 | Jeffery G. Smith | Initial changes for StarTeam support after combining PVCS and VSS converters. | ||
#3 | 4703 | Jeffery G. Smith | Merge with the VSS converter. | ||
#2 | 4701 | Jeffery G. Smith | Initial converion to StarTeam. | ||
#1 | 4700 | Jeffery G. Smith | Initialize branch from PVCS converter. | ||
//guest/perforce_software/utils/pvcstop4/main/sortmap.pl | |||||
#1 | 4664 | Robert Cowham | Branch into permanent location. | ||
//guest/robert_cowham/perforce/utils/pvcstop4/main/sortmap.pl | |||||
#1 | 4647 | Robert Cowham |
Rename //guest/robert_cowham/perforce/utils/pvcstop4/... To //guest/robert_cowham/perforce/utils/pvcstop4/main/... |
||
//guest/robert_cowham/perforce/utils/pvcstop4/sortmap.pl | |||||
#1 | 2289 | Robert Cowham | Initial version from Perforce web page |