diff options
author | Steve McIntyre <93sam> | 2018-05-30 02:26:19 +0000 |
---|---|---|
committer | Steve McIntyre <93sam> | 2018-05-30 02:26:19 +0000 |
commit | afdb29732ca24242f1a2e94f98e90034f9925f46 (patch) | |
tree | e7fd6434eca8cdc6b4d1f8b917290cc45af5b374 /karma.pl | |
parent | 85831e64ab93ed694a25e2e6ccaaff73d9fddeea (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-x | karma.pl | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -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 |