aboutsummaryrefslogtreecommitdiffstats
path: root/karma.pl
diff options
context:
space:
mode:
authorSteve McIntyre <93sam>2018-05-30 02:26:19 +0000
committerSteve McIntyre <93sam>2018-05-30 02:26:19 +0000
commitafdb29732ca24242f1a2e94f98e90034f9925f46 (patch)
treee7fd6434eca8cdc6b4d1f8b917290cc45af5b374 /karma.pl
parent85831e64ab93ed694a25e2e6ccaaff73d9fddeea (diff)
Major updates to perl scripts
Add new git backend in VCS_git.pm Switch from an old-style set of function calls to an OO API. This allows for initialisation and some state to be kept in the VCS_git.pm module - namely a per-file cache of commit hashes for a massive performance boost when doing lots of lookups. Extend the API with 2 new utility functions: * get_oldest_revision() * next_revision() Extended the vcs_cmp_rev() function to take a filename too. Add a test harness to validate the git and cvs backends. Add switch_to_git_translations.pl to walk the tree and switch from cvs revisions to git commit hashes in translation-check headers. Change all of our local scripts to use the new Local::VCS frontend *where it makes sense*. Some scripts will behave slightly differently, as the new world can't exactly match the old behaviour. CVS version numbers check_desc_trans.pl: 1.9 -> 1.10 check_trans.pl: 1.93 -> 1.94 copypage.pl: 1.42 -> 1.43 karma.pl: 1.6 -> 1.7 remove_stale.pl: 1.22 -> 1.23 smart_change.pl: 1.8 -> 1.9 stattrans.pl: 1.127 -> 1.128 switch_to_git_translations.pl: INITIAL -> 1.1 touch_translations.pl: 1.9 -> 1.10 vcs-test.pl: INITIAL -> 1.1 Perl/Local/Util.pm: 1.4 -> 1.5 Perl/Local/VCS.pm: 1.3 -> 1.4 Perl/Local/VCS_CVS.pm: 1.13 -> 1.14 Perl/Local/VCS_git.pm: 1.12 -> 1.13 Perl/Webwml/Langs.pm: 1.5 -> 1.6 Perl/Webwml/TransIgnore.pm: 1.3 -> 1.4
Diffstat (limited to 'karma.pl')
-rwxr-xr-xkarma.pl12
1 files changed, 6 insertions, 6 deletions
diff --git a/karma.pl b/karma.pl
index 44b4bf78e43..8fe01a6a621 100755
--- a/karma.pl
+++ b/karma.pl
@@ -1,7 +1,6 @@
#!/usr/bin/perl
# This is a toy to compute the karma of translators in the Debian web site
-# CVS repository.
# It use information about translation revisions please see
# https://www.debian.org/devel/website/uptodate
@@ -27,7 +26,7 @@ use FindBin;
# These modules reside under webwml/Perl
use lib "$FindBin::Bin/Perl";
-use Local::VCS ':all';
+use Local::VCS;
use Local::WmlDiffTrans;
use Webwml::TransCheck;
use Webwml::TransIgnore;
@@ -56,7 +55,8 @@ foreach my $d (@DIRS)
print "Reading data...";
my $lang_from = 'english';
-my %info_from = vcs_path_info( $lang_from,
+my $VCS = Local::VCS->new();
+my %info_from = $VCS->path_info( $lang_from,
match_pat => $MATCH,
skip_pat => $SKIP,
recursive => 1,
@@ -80,7 +80,7 @@ foreach my $subdir (@DIRS)
# TODO: transignore
# fetch a list of all (translated) files in this subdir
- my %info_to = vcs_path_info( catfile($lang_to,$subdir),
+ my %info_to = $VCS->path_info( catfile($lang_to,$subdir),
match_pat => $MATCH,
skip_pat => $SKIP,
recursive => 1,
@@ -151,9 +151,9 @@ sub check_file
$translator =~ s/^\s+ |\s+$//;
# calculate the number of revision the original english file has has
- my $numrev = vcs_count_changes( $file_trans, undef, $revision );
+ my $numrev = $VCS->count_changes( $file_trans, undef, $revision );
# calculate the age of the translated file
- my $age = vcs_count_changes( $file_orig, $oldr, $revision );
+ my $age = $VCS->count_changes( $file_orig, $oldr, $revision );
$karma->{$translator} += $numrev; # page translated. GOOD
$karma->{$translator} -= $numrev*$age/4; #out of date page; Bad

© 2014-2024 Faster IT GmbH | imprint | privacy policy