[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