dump_rev_map #1

  • //
  • guest/
  • perforce_software/
  • revml/
  • bin/
  • dump_rev_map
  • View
  • Commits
  • Open Download .zip Download (602 B)
#!/usr/local/bin/perl -w

use strict;
use VCP::Debug qw( :debug );
BEGIN { enable_debug ".*"; }

use VCP::RevMapDB::sdbm;

my $db = VCP::RevMapDB::sdbm->new( @ARGV ? ( StoreLoc => shift ) : () );
$db->open_existing_db;

my( @keys, @vals );

my $w = 0;

while ( my ( $k, $v ) = each %{$db->{Hash}} ) {
    $w = length $k if length $k > $w;
    push @keys, $k;
    push @vals, [ $db->unpack_values( $v ) ];
}


my $f = "%-${w}s => %s\n";
while ( @keys ) {
    my @v = @{shift @vals};
    printf $f,
        shift @keys,
        @v == 1
            ? $v[0]
            : join join( ",", @v ), "(", ")";
}
# Change User Description Committed
#7 2959 John Fetkovich added dump method to lib/VCP/DB_File/sdbm.pm to dump keys => values
       from a sdbm file.  removed similar code from bin/dump_head_revs,
       bin/dump_rev_map and bin/dump_main_branch_id and called this method
       instead.  also made parse_files_and_revids_from_head_revs_db sub
       in TestUtils to use in test suites instead of
       parse_files_and_revids_from_p4_files et. al.
#6 2874 Barrie Slaymaker Improve printing of empty strings
#5 2870 Barrie Slaymaker Fix sort, un/packing empty value problems
#4 2806 Barrie Slaymaker Update bin/dump_* to work with new multi-field key format.
#3 2770 Barrie Slaymaker tweak dump utils: sort output for readability
#2 2742 John Fetkovich update to new API
#1 2718 Barrie Slaymaker Add tool to dump the RevMapDB