[opensuse-translation] Problem with the verification scripts.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi, I try to commit three files. One has known syntax problems, I haven't finished with it, but the other two are complete. But committing is rejected for the three! Only the faulty one shoud be rejected. cer@Telcontar:~/Projects/babel/SuSE/trunk/yast/es/po> svn commit --message "translated some files, pending verification" Sending po/bootloader.es.po Sending po/multipath.es.po Sending po/s390.es.po Transmitting file data ...svn: Commit failed (details follow): svn: Commit blocked by pre-commit hook (exit code 1) with output: /srv/svn/opensuse-i18n-repos/hooks/verify-po.py:18: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module. import popen2 <stdin>:314: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:333: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:544: `msgid' and `msgstr' entries do not both end with '\n' /usr/bin/msgfmt: found 3 fatal errors PO format check failed for 'trunk/yast/es/po/s390.es.po' cer@Telcontar:~/Projects/babel/SuSE/trunk/yast/es/po> (Yes, I know I can commit a single file with a command). - -- Cheers / Saludos, Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) iEYEARECAAYFAk+SDUsACgkQtTMYHG2NR9XoiQCfcFmAieUzuo+/2G9RAJk8zkD5 DIEAn0ZeAEa1uDCKc0GuqVjHgBbDjjb0 =oSEH -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
On 21/04/12 03:28, Carlos E. R. wrote:
cer@Telcontar:~/Projects/babel/SuSE/trunk/yast/es/po> svn commit --message "translated some files, pending verification" Sending po/bootloader.es.po Sending po/multipath.es.po Sending po/s390.es.po Transmitting file data ...svn: Commit failed (details follow): svn: Commit blocked by pre-commit hook (exit code 1) with output: /srv/svn/opensuse-i18n-repos/hooks/verify-po.py:18: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module. import popen2 <stdin>:314: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:333: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:544: `msgid' and `msgstr' entries do not both end with '\n' /usr/bin/msgfmt: found 3 fatal errors PO format check failed for 'trunk/yast/es/po/s390.es.po'
The problem is that in s390.es.po (that is one of the SLE-only files, so you should ignore it) you have 3 strings: around lines 314, 333, and 544 where one between msgid and msgstr ends with \n and an empty line while the other ends with some text. It is enough to make msgstr end as msgid and the problem disappears. FYI, you can pre-check files before submitting them using the command "msgfmt -o /dev/null file". Best, Andrea -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-04-21 09:02, Andrea Turrini wrote:
On 21/04/12 03:28, Carlos E. R. wrote:
cer@Telcontar:~/Projects/babel/SuSE/trunk/yast/es/po> svn commit --message "translated some files, pending verification" Sending po/bootloader.es.po Sending po/multipath.es.po Sending po/s390.es.po Transmitting file data ...svn: Commit failed (details follow): svn: Commit blocked by pre-commit hook (exit code 1) with output: /srv/svn/opensuse-i18n-repos/hooks/verify-po.py:18: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module. import popen2 <stdin>:314: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:333: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:544: `msgid' and `msgstr' entries do not both end with '\n' /usr/bin/msgfmt: found 3 fatal errors PO format check failed for 'trunk/yast/es/po/s390.es.po'
The problem is that in s390.es.po (that is one of the SLE-only files, so you should ignore it) you have 3 strings: around lines 314, 333, and 544 where one between msgid and msgstr ends with \n and an empty line while the other ends with some text.
No, that's not the problem I'm reporting. The problem is that the other two files are not uploaded.
FYI, you can pre-check files before submitting them using the command "msgfmt -o /dev/null file".
I know that. I simply want to upload the other two files and forget the incorrect one. Rather, I want the thing changed in the server so that it doesn't block all correct files just because one is incorrect - if possible. - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk+SjrEACgkQIvFNjefEBxrGcgCfb/8UIxB/CXv01dm9Q701znIX ciUAoNOeFLA6WGGwvaQKuYveJy7ASDMa =Ernc -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
On 21/04/12 12:40, Carlos E. R. wrote:
No, that's not the problem I'm reporting. The problem is that the other two files are not uploaded.
You are performing a single commitment, so either it works for all files or it is refused, since in general it can be that the resulting status of the files is inconsistent (this of course does not happen for translations).
FYI, you can pre-check files before submitting them using the command "msgfmt -o /dev/null file".
I know that. I simply want to upload the other two files and forget the incorrect one.
You can specify the list of files you want to commit: svn commit --message "translated some files, pending verification" po/bootloader.es.po po/multipath.es.po I think you can write a script that tests files, collects good ones and generates the list of files to commit.
Rather, I want the thing changed in the server so that it doesn't block all correct files just because one is incorrect - if possible.
I do not know whether this can be done, since this means collecting good files, rejecting wrong files, change the commitment in order to commit only good files, and notify the committee that some file has been rejected. Best, Andrea -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-04-21 13:33, Andrea Turrini wrote:
On 21/04/12 12:40, Carlos E. R. wrote:
No, that's not the problem I'm reporting. The problem is that the other two files are not uploaded.
You are performing a single commitment, so either it works for all files or it is refused, since in general it can be that the resulting status of the files is inconsistent (this of course does not happen for translations).
Right, for translation this is not needed.
You can specify the list of files you want to commit:
I know, I did that.
Rather, I want the thing changed in the server so that it doesn't block all correct files just because one is incorrect - if possible.
I do not know whether this can be done, since this means collecting good files, rejecting wrong files, change the commitment in order to commit only good files, and notify the committee that some file has been rejected.
Committee? It is just a script. Good file? Accept. Bad file? Reject the upload. Based on single files, not on the whole commit. - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk+Sn2oACgkQIvFNjefEBxo2rwCffzWrkMyu6FM10JrWhjgSypC2 p5IAn1zaNHa+Xp+yp4DM2hsoTyTQzGPV =0Z90 -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
On 2012-04-21 13:33, Andrea Turrini wrote:
On 21/04/12 12:40, Carlos E. R. wrote:
Rather, I want the thing changed in the server so that it doesn't block all correct files just because one is incorrect - if possible.
I do not know whether this can be done, since this means collecting good files, rejecting wrong files, change the commitment in order to commit only good files, and notify the committee that some file has been rejected.
Committee? It is just a script. Good file? Accept. Bad file? Reject the upload. Based on single files, not on the whole commit. I think Andrea meant "committee" as a person performing the commit. As for selective commit: you clearly do not fully understand how version control works. SVN commit is unary operation, transforming a working directory from one [considered consistent] state to another [considered consistent] state. Number of files is irrelevant here. If you break a consistency criteria (msgfmt checks fail), then
2012/4/21 Carlos E. R. <robin.listas@telefonica.net>: transformation is incorrect, so the commit gets rejected. It is basic logic. P.S. How come you try to commit faulty files? Don't KBabel checks work for you anymore? -- Regards, Minton. -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-04-23 08:08, Alexander Melentyev wrote:
2012/4/21 Carlos E. R. <>:
Committee? It is just a script. Good file? Accept. Bad file? Reject the upload. Based on single files, not on the whole commit. I think Andrea meant "committee" as a person performing the commit.
Ah.
As for selective commit: you clearly do not fully understand how version control works. SVN commit is unary operation, transforming a working directory from one [considered consistent] state to another [considered consistent] state. Number of files is irrelevant here. If you break a consistency criteria (msgfmt checks fail), then transformation is incorrect, so the commit gets rejected. It is basic logic.
Thanks, that explanation makes sense. I would still like it could be disabled, though. But I can live with it.
P.S. How come you try to commit faulty files? Don't KBabel checks work for you anymore?
The file was already faulty when I downloaded it. I have partially translated it, and now that I discovered that it is a SLES only file I'm not interested in translating it anymore. So I have added the "\n" to those three bad strings and committed it. The file was bad already because when modifications in the .pot file have been added, it suddenly needed dots ending sentences or newlines and such. Not my doing. Which brings another point: Errors in fuzzy strings should not render a file not "commitable". The file was correct in the reviewed strings, it was incorrect in three fuzzy strings. That's a bug somewhere, IMO. And I didn't notice because I'm using lokalize this time. When I finish a file, I then review it again in kbabel, but as this one is not finished, and I had two other finished files, I needed to commit. - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk+VOpUACgkQIvFNjefEBxrN0gCcDs1z+WEFQDnRd2H0xQi1/p1u YjYAnRmkvylmjx/JdjyOMlPN8onsFY2J =12QQ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
"Carlos E. R." <robin.listas@telefonica.net> writes:
Which brings another point: Errors in fuzzy strings should not render a file not "commitable". The file was correct in the reviewed strings, it was incorrect in three fuzzy strings. That's a bug somewhere, IMO.
Which kind of errors do you have in mind? If there are syntax errors (e.g., missing quote), you are not allowed to submit it even if this message is marked fuzzy. But other issues such as the wrong number of format specifiers (%1, %2) or newline mismatches (\n) at the end of the strings, it is not fatal for fuzzy messages. Does it work this way?
And I didn't notice because I'm using lokalize this time. When I finish a file, I then review it again in kbabel, but as this one is not finished, and I had two other finished files, I needed to commit.
As others explained it, either submit your work file by file or first fix the invalid file and then commit the set. If you are not interested in the invalid file at all, you can simply revert your change with: snv revert invalid_file.po -- Karl Eichwalder SUSE LINUX Products GmbH R&D / Documentation Maxfeldstraße 5 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-04-25 17:52, Karl Eichwalder wrote:
"Carlos E. R." <> writes:
Which brings another point: Errors in fuzzy strings should not render a file not "commitable". The file was correct in the reviewed strings, it was incorrect in three fuzzy strings. That's a bug somewhere, IMO.
Which kind of errors do you have in mind? If there are syntax errors (e.g., missing quote), you are not allowed to submit it even if this message is marked fuzzy. But other issues such as the wrong number of format specifiers (%1, %2) or newline mismatches (\n) at the end of the strings, it is not fatal for fuzzy messages. Does it work this way?
No, it didn't. Why check the fuzzy messages at all? It doesn't make sense to me. Notice the sequence: download the file change, say, a single letter uppload the file - rejected. The downloaded file was incorrect already. In this case the error was because the English message had a new end of line symbol, making the translation fuzzy. Nothing like missing quotes.
And I didn't notice because I'm using lokalize this time. When I finish a file, I then review it again in kbabel, but as this one is not finished, and I had two other finished files, I needed to commit.
As others explained it, either submit your work file by file or first fix the invalid file and then commit the set. If you are not interested in the invalid file at all, you can simply revert your change with:
snv revert invalid_file.po
Yes, I understand. - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk+YT0IACgkQIvFNjefEBxpN+wCfTV3WL3pkUhoaMBhW9xnB5REL u94An1FwFj/SaJYRD+sTFsSHpxRUe5m8 =FujX -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
"Carlos E. R." <robin.listas@telefonica.net> writes:
Notice the sequence:
download the file change, say, a single letter uppload the file - rejected.
The downloaded file was incorrect already.
In this case the error was because the English message had a new end of line symbol, making the translation fuzzy. Nothing like missing quotes.
Something strange is going on on your side; we are doing this all the time. I submitted the following change with an invalid, but fuzzy message: svn diff s390.de.po Index: s390.de.po =================================================================== --- s390.de.po (revision 73770) +++ s390.de.po (working copy) @@ -28,7 +28,6 @@ "#-#-#-#-# s390.de.po (s390) #-#-#-#-#\n" "#-#-#-#-# s390.de.po (YaST (@memory@)) #-#-#-#-#\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.4\n" #. Command line help text for the Xcontroller module #: src/clients/dasd.ycp:48 @@ -54,7 +53,7 @@ #: src/clients/dump.ycp:49 #, fuzzy #| msgid "Configuration of DMA mode for IDE devices" -msgid "Creation of s390 dump devices" +msgid "Creation of s390 dump devices\n" msgstr "DMA-Modus-Konfiguration von IDE-Geräten" #. Command line help text for the Xcontroller module msgfmt --check s390.de.po svn ci -mtesting s390.de.po Sending s390.de.po Transmitting file data . Committed revision 73771. To save us time, you could have told us the name of your file ;) -- Karl Eichwalder SUSE LINUX Products GmbH R&D / Documentation Maxfeldstraße 5 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-04-26 15:52, Karl Eichwalder wrote:
"Carlos E. R." <> writes:
In this case the error was because the English message had a new end of line symbol, making the translation fuzzy. Nothing like missing quotes.
Something strange is going on on your side; we are doing this all the time. I submitted the following change with an invalid, but fuzzy message:
And it was accepted?
svn diff s390.de.po Index: s390.de.po =================================================================== --- s390.de.po (revision 73770) +++ s390.de.po (working copy) @@ -28,7 +28,6 @@ "#-#-#-#-# s390.de.po (s390) #-#-#-#-#\n" "#-#-#-#-# s390.de.po (YaST (@memory@)) #-#-#-#-#\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Lokalize 1.4\n"
#. Command line help text for the Xcontroller module #: src/clients/dasd.ycp:48 @@ -54,7 +53,7 @@ #: src/clients/dump.ycp:49 #, fuzzy #| msgid "Configuration of DMA mode for IDE devices" -msgid "Creation of s390 dump devices" +msgid "Creation of s390 dump devices\n" msgstr "DMA-Modus-Konfiguration von IDE-Geräten"
#. Command line help text for the Xcontroller module
msgfmt --check s390.de.po
svn ci -mtesting s390.de.po Sending s390.de.po Transmitting file data . Committed revision 73771.
To save us time, you could have told us the name of your file ;)
Didn't I? :-? [...] Yes, I did, in the first post, see:
cer@Telcontar:~/Projects/babel/SuSE/trunk/yast/es/po> svn commit --message "translated some files, pending verification" Sending po/bootloader.es.po Sending po/multipath.es.po Sending po/s390.es.po Transmitting file data ...svn: Commit failed (details follow): svn: Commit blocked by pre-commit hook (exit code 1) with output: /srv/svn/opensuse-i18n-repos/hooks/verify-po.py:18: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module. import popen2 <stdin>:314: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:333: `msgid' and `msgstr' entries do not both end with '\n' <stdin>:544: `msgid' and `msgstr' entries do not both end with '\n' /usr/bin/msgfmt: found 3 fatal errors PO format check failed for 'trunk/yast/es/po/s390.es.po'
cer@Telcontar:~/Projects/babel/SuSE/trunk/yast/es/po>
The file was s390.es.po I have done the same test as you, but with an editor, I'm not fluent with diffs, and it worked. Why did it not work for me that time? I don't understand. Maybe I'm confused and the messages were not fuzzy - that's the only explanation remaining. - -- Cheers / Saludos, Carlos E. R. (from 11.4 x86_64 "Celadon" at Telcontar) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAk+ZiOgACgkQIvFNjefEBxqVJgCffp6FRXZ+smb2cwrQLBSdHpmQ ncUAoLvVcHvo0PokNBqfXyhe1A8FAE9s =BImZ -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
"Carlos E. R." <robin.listas@telefonica.net> writes:
On 2012-04-26 15:52, Karl Eichwalder wrote:
Something strange is going on on your side; we are doing this all the time. I submitted the following change with an invalid, but fuzzy message:
And it was accepted?
Yes :)
Didn't I? :-?
[...]
Yes, I did, in the first post, see:
I did not remember it.
Maybe I'm confused and the messages were not fuzzy - that's the only explanation remaining.
Yes, I also think so. I checked some old revisions of s390.es.po and they were all valid. -- Karl Eichwalder SUSE LINUX Products GmbH R&D / Documentation Maxfeldstraße 5 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-translation+owner@opensuse.org
participants (5)
-
Alexander Melentyev
-
Andrea Turrini
-
Carlos E. R.
-
Carlos E. R.
-
Karl Eichwalder