Perforce Matcher

Article ID:360033193951
1 minute readKnowledge base
 push (@::gMatchers,
  {
   id =>        "p4checkout",
   pattern =>          q{ - added as },
   action =>           q{incValueWithString("summary", "Synched 0 files" );},
  },
  {
   id =>        "p4NoClobber",
   pattern =>          q{Can.t clobber},
   action =>           q{incValue("warnings");	diagnostic ("P4 Sync", "warning");},
  },
  {
   id =>        "p4makedir",
   pattern =>          q{Creating},
   action =>           q{incValueWithString("summary", "0 checkout dirs" );},
  },
  {
   id =>        "p4delclient",
   pattern =>          q{Client.*.deleted},
   action =>           q{incValueWithString("summary", "0 client deleted" );},
  },

);

sub incValueWithString($;$$) {
    my ($name, $patternString, $increment) = @_;

    $increment = 1 unless defined($increment);

    my $localString = (defined $::gProperties{$name}) ? $::gProperties{$name} :
                                                        $patternString;

    $localString =~ /([KBEC-00131 - Perforce postp Matcher^\d]*)(\d+)(.*)/;
    my $leading = $1;
    my $numeric = $2;
    my $trailing = $3;

    $numeric += $increment;
    $localString = $leading . $numeric . $trailing;

    setProperty ($name, $localString);
}