From a8bd9f7005ee59a7735a75ca5e58764e464d70a9 Mon Sep 17 00:00:00 2001 From: Bernardo Gonzalez Kriegel Date: Sun, 6 Apr 2014 19:21:47 -0300 Subject: [PATCH] Bug 12061 - tmpl_process3.pl - Remove obsoleted strings/backups This patch modifies the update process for PO files, removing obsoleted strings. Currently they are removed manually as part of the standar procedure of strings update. Also backup files (*~) need to be removed manually. To test: 1. Update translation files for any language, ej. fi-FI (cd misc/translation; perl translate update fi-FI) 2. Check existence of obsoleted strings egrep "#~ msg" misc/translator/po/fi-FI-* 3. Check existence of backup files ls misc/translator/po/fi-FI-*~ 4. Reset to HEAD and clean 5. Apply the patch 6. Update again, check there are no more obsoleted strings nor backup files --- misc/translator/tmpl_process3.pl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/misc/translator/tmpl_process3.pl b/misc/translator/tmpl_process3.pl index eea5f3e..1690306 100755 --- a/misc/translator/tmpl_process3.pl +++ b/misc/translator/tmpl_process3.pl @@ -348,7 +348,7 @@ if ($action eq 'create') { close INPUT; close OUTPUT; } - $st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile2"); + $st = system("msgmerge ".($quiet?'-q':'')." -s $str_file $tmpfile2 -o - | msgattrib --no-obsolete -o $str_file"); } else { error_normal "Text extraction failed: $xgettext: $!\n", undef; error_additional "Will not run msgmerge\n", undef; @@ -377,10 +377,10 @@ if ($action eq 'create') { if ( @filenames ) { my ($tmph3, $tmpfile3) = tmpnam(); $st = system("msgcat $str_file $tmpfile2 > $tmpfile3"); - $st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile3") + $st = system("msgmerge ".($quiet?'-q':'')." -s $str_file $tmpfile3 -o - | msgattrib --no-obsolete -o $str_file") unless $st; } else { - $st = system("msgmerge -U ".($quiet?'-q':'')." -s $str_file $tmpfile2"); + $st = system("msgmerge ".($quiet?'-q':'')." -s $str_file $tmpfile2 -o - | msgattrib --no-obsolete -o $str_file"); } } else { error_normal "Text extraction failed: $xgettext: $!\n", undef; @@ -527,13 +527,13 @@ Anchors are represented by an > notation. The meaning of this non-standard notation might not be obvious. The create action calls xgettext.pl to do the actual work; -the update action calls xgettext.pl and msgmerge(1) to do the -actual work. +the update action calls xgettext.pl, msgmerge(1) and msgattrib(1) +to do the actual work. =head1 BUGS -xgettext.pl must be present in the current directory; the -msgmerge(1) command must also be present in the search path. +xgettext.pl must be present in the current directory; both +msgmerge(1) and msgattrib(1) must also be present in the search path. The script currently does not check carefully whether these dependent commands are present. -- 1.7.9.5