#!/usr/bin/perl -w # # PVCS to Perforce converter, phase II: improve metadata # # Copyright 1997 Perforce Software. All rights reserved. # Written by James Strickland, July 1997 # # This script sorts the metadata output (first step in phase II). # Note that the sort only requires timestamps and indices to be in memory, # rather than having to shuffle all the information associated with each # change (e.g. change description). require 5.0; use strict; use integer; use lib '.'; use convert; use Change; open(CHANGES, "<$convert::metadata_dir/changes.ns") or die "can't open for read: $!"; open(NEWCHANGES, ">$convert::metadata_dir/changes") or die "can't open for write: $!"; my ($index,$c,@timestamp_and_index); # read 'em in for($index=0;$c=get Change(\*CHANGES);$index=tell(CHANGES)) { push(@timestamp_and_index, [ $c->timestamp, $index ]); } # sort them by timestamp @timestamp_and_index = sort { $$a[0] <=> $$b[0] } @timestamp_and_index; # write 'em out my $ti; foreach $ti (@timestamp_and_index) { seek(CHANGES,$$ti[1],0); $c=get Change(\*CHANGES); $c->put(\*NEWCHANGES); } close(CHANGES); close(NEWCHANGES); unlink("$convert::metadata_dir/changes.ns"); # delete the "not sorted" version
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 7114 | Sven Erik Knop |
This is a modification of the public depot version of pvcsToP4. This version requires the official P4Perl release from the Perforce ftp site. The main change compared to the public depot release of pvcsToP4 is that this version supports branching - as far as I have been able to test - completely. Please see CHANGELOG and README for some details. |