Refine the code to ignore apps that have been deleted from master
but still exist in release branches. E.g. luci-app-samba
Previously the unhandled git error from non-existing master
mangled the .po files in the release branch: the 18n header was
removed and all non-ASCII chars were deleted from translation.
Fix this by processing only those files where 'git show' succeeds.
Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
(cherry picked from commit
e4baee8d254fef2688381ea33072db5a48cd0495)
(my $ref = $path) =~ s/\.po$/\.master.po/;
printf 'Updating %s ', $path;
(my $ref = $path) =~ s/\.po$/\.master.po/;
printf 'Updating %s ', $path;
- system("git show --format=\%B 'master:$path' > '$ref'");
- system('msgmerge', '-N', '-o', $path, $ref, $path);
- system('msgattrib', '--no-obsolete', '-o', $path, $path);
+ my $returnCode = system("git show --format=\%B 'master:$path' > '$ref'");
+ if ( $returnCode == 0 )
+ {
+ system('msgmerge', '-N', '-o', $path, $ref, $path);
+ system('msgattrib', '--no-obsolete', '-o', $path, $path);
+ } else {
+ print "...failed due to git error.\n";
+ }