[Libreoffice-commits] .: 2 commits - l10ntools/scripts
David Tardon
dtardon at kemper.freedesktop.org
Wed Jan 11 21:13:39 PST 2012
l10ntools/scripts/fast_merge.pl | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
New commits:
commit 196885980bbb51562264cb5aad9a3e01133d1d7d
Author: David Tardon <dtardon at redhat.com>
Date: Wed Jan 11 14:04:54 2012 +0100
fix writing of strings from the first module
diff --git a/l10ntools/scripts/fast_merge.pl b/l10ntools/scripts/fast_merge.pl
index 5dc63cf..cc632e4 100644
--- a/l10ntools/scripts/fast_merge.pl
+++ b/l10ntools/scripts/fast_merge.pl
@@ -89,11 +89,10 @@ while( hasLines() )
}
write_lines();
}
-if( $#current+1 ne 0 )
+# write content of the last localize.sdf file
+if( $#buffer ge 0 )
{
- ( $path , $localize_file ) = make_paths();
- add_to_buffer();
- write_buffer( $path , $localize_file );
+ write_buffer( $last_path , $last_localize_file );
}
release_lock();
exit( 0 );
@@ -248,15 +247,14 @@ sub make_paths
return ( $path , $localizeFile );
}
+
sub write_lines
{
if( $first_run ){
- add_to_buffer();
my( $path , $localize_file ) = make_paths();
$last_path = $path;
$last_localize_file = $localize_file;
- mkpath $path;
- write_buffer( $path , $localize_file );
+ add_to_buffer();
$first_run = '';
}
else
@@ -269,7 +267,6 @@ sub write_lines
}
else
{
- mkpath $path;
write_buffer( $last_path , $last_localize_file );
add_to_buffer();
$last_path = $path;
@@ -277,6 +274,11 @@ sub write_lines
}
}
}
+
+# Adds all lines that contain strings from one source file from every input file.
+# TODO: Would it not be better to add lines for all files from a directory (i.e., replace
+# "$afile eq $elem->file" by "$adir eq $elem->dir")? We could get rid of the delayed
+# writing then. But maybe there is a reason for doing it this way...
sub add_to_buffer
{
my $plainline;
@@ -293,12 +295,15 @@ sub add_to_buffer
} while ( !$elem->endoffile && $amodule eq $elem->module && $afile eq $elem->file );
}
}
+
+# Writes the buffer to currently selected localize.sdf file.
sub write_buffer
{
my $path = shift;
my $localize_file = shift;
my $cnt = $#buffer+1;
print "Write to $path $cnt lines\n";
+ mkpath $path;
open FILE , ">>$localize_file" or die "Can't open file '$localize_file'\n";
foreach ( @buffer )
{
commit 4ce9896c6ac42d450d2056ee8d700b9f6dce8e2d
Author: David Tardon <dtardon at redhat.com>
Date: Wed Jan 11 11:42:09 2012 +0100
Revert "fast_merge: fix mis-merge of first module's strings"
This is not enough, because the file is still wrong.
This reverts commit 47a8454f5f76030203ce6458cf63d4348bdacffe.
diff --git a/l10ntools/scripts/fast_merge.pl b/l10ntools/scripts/fast_merge.pl
index 73b824e..5dc63cf 100644
--- a/l10ntools/scripts/fast_merge.pl
+++ b/l10ntools/scripts/fast_merge.pl
@@ -91,7 +91,7 @@ while( hasLines() )
}
if( $#current+1 ne 0 )
{
- ( $path , $localize_file ) = make_paths($current[ 0 ]->module);
+ ( $path , $localize_file ) = make_paths();
add_to_buffer();
write_buffer( $path , $localize_file );
}
@@ -240,8 +240,7 @@ sub hasLines
sub make_paths
{
- my $module = shift ;
- my $localizeFile = $merge_dir."\\".$module."\\".$current[ 0 ]->file;
+ my $localizeFile = $merge_dir."\\".$current[ 0 ]->module."\\".$current[ 0 ]->file;
my $path = getDir( $localizeFile );
$path =~ s/\\/\//g;
@@ -252,9 +251,8 @@ sub make_paths
sub write_lines
{
if( $first_run ){
- my $module = $current[ 0 ]->module;
add_to_buffer();
- my( $path , $localize_file ) = make_paths($module);
+ my( $path , $localize_file ) = make_paths();
$last_path = $path;
$last_localize_file = $localize_file;
mkpath $path;
@@ -264,7 +262,7 @@ sub write_lines
else
{
return , if ( $#current+1 eq 0 );
- my( $path , $localize_file ) = make_paths($current[ 0 ]->module);
+ my( $path , $localize_file ) = make_paths();
if( $path eq $last_path )
{
add_to_buffer();
More information about the Libreoffice-commits
mailing list