Hi, I see (new checkins) that many lines are changed at the mailman.po file (Bouncer Patch). How to merge the new mailman.po(latest cvs b4+) with my mailman-work.po(b4) ? I did serveral translations and i do not want it to be lost :( Danny Terweij Dutch - Translator
"DT" == Danny Terweij <danny@terweij.nl> writes:
DT> I see (new checkins) that many lines are changed at the DT> mailman.po file (Bouncer Patch). How to merge the new DT> mailman.po(latest cvs b4+) with my mailman-work.po(b4) ? I DT> did serveral translations and i do not want it to be lost :( Did you get CVS conflicts? Hopefully if so you didn't get a lot of them, but if you did you'll need to resolve them manually in an editor. Here's an entry from the cvs manual that helps explain the process of resolving conflicts: http://www.cvshome.org/docs/manual/cvs_10.html#SEC86 -Barry
From: "Barry A. Warsaw" <barry@python.org>
Did you get CVS conflicts? Hopefully if so you didn't get a lot of them, but if you did you'll need to resolve them manually in an editor. Here's an entry from the cvs manual that helps explain the process of resolving conflicts:
Well, this is what i do : Get the latest CVS version. Copy the mailman.po to /tmp/vertaal.po and i edit vertaal.po for translations. (I am editing with the Crimson Editor (win32)) Then i do : msgfmt vertaal.po cp vertaal.po /usr/local/mailman/messages/nl/LC_MESSAGES/mailman.po cp messages.mo /usr/local/mailman/messages/nl/LC_MESSAGES/mailman.mo But when a big change occurs at the CVS version then i do not know how to merge it.. (if there is a way). Maybe i do this at a wrong way.. but it works fine for me (till big changes as now). Danny.
"DT" == Danny Terweij <danny@terweij.nl> writes:
>> Did you get CVS conflicts? Hopefully if so you didn't get a >> lot of them, but if you did you'll need to resolve them >> manually in an editor. Here's an entry from the cvs manual >> that helps explain the process of resolving conflicts: >> http://www.cvshome.org/docs/manual/cvs_10.html#SEC86 DT> Well, this is what i do : Get the latest CVS version. Copy DT> the mailman.po to /tmp/vertaal.po and i edit vertaal.po for DT> translations. (I am editing with the Crimson Editor (win32)) DT> Then i do : msgfmt vertaal.po cp vertaal.po DT> /usr/local/mailman/messages/nl/LC_MESSAGES/mailman.po cp DT> messages.mo DT> /usr/local/mailman/messages/nl/LC_MESSAGES/mailman.mo DT> But when a big change occurs at the CVS version then i do not DT> know how to merge it.. (if there is a way). DT> Maybe i do this at a wrong way.. but it works fine for me DT> (till big changes as now). It's the "big changes" that are exactly the reason why you probably want to edit mailman.po in its cvs location. Those big changes usually boil down to easily resolvable differences that cvs can automatically merge for you. -Barry
From: "Barry A. Warsaw" <barry@python.org>
DT> Maybe i do this at a wrong way.. but it works fine for me DT> (till big changes as now).
It's the "big changes" that are exactly the reason why you probably want to edit mailman.po in its cvs location. Those big changes usually boil down to easily resolvable differences that cvs can automatically merge for you.
Okay, so i must just edit the mailman.po file at the cvs location? Then my edit's and the new cvs chanhes are merged? Damn.. that's easy :) I am windows euh.. Microshit minded :) Okay, then i loose my latest changes and start over :) Danny Terweij.
"DT" == Danny Terweij <danny@terweij.nl> writes:
DT> Okay, so i must just edit the mailman.po file at the cvs DT> location? Then my edit's and the new cvs chanhes are merged? Usually, yes. Once in a while you'll get conflicts that have to be manually resolved, but for this file, that should be extremely rare. DT> Damn.. that's easy :) I am windows euh.. Microshit minded :) I agree, that's a problem. :) DT> Okay, then i loose my latest changes and start over :) Maybe not! Just move your file back into its cvs location and do another cvs update. See if cvs can do the merge. -Barry
From: "Barry A. Warsaw" <barry@python.org>
"DT" == Danny Terweij <danny@terweij.nl> writes:
DT> Okay, so i must just edit the mailman.po file at the cvs DT> location? Then my edit's and the new cvs changes are merged?
Usually, yes. Once in a while you'll get conflicts that have to be manually resolved, but for this file, that should be extremely rare.
Okay, i have /users/mailman-cvs/ I do: cvs -d:pserver:anonymous@cvs.mailman.sourceforge.net:/cvsroot/mailman login cvs -z3 -d:pserver:anonymous@cvs.mailman.sourceforge.net:/cvsroot/mailman co mailman Edit some translations at /users/mailman-cvs/mailman/messages/nl/LC_MESSAGES/mailman.po Then do this again: cvs -d:pserver:anonymous@cvs.mailman.sourceforge.net:/cvsroot/mailman login cvs -z3 -d:pserver:anonymous@cvs.mailman.sourceforge.net:/cvsroot/mailman co mailman Then i got : cvs server: Updating mailman/messages/ko cvs server: Updating mailman/messages/ko/LC_MESSAGES cvs server: Updating mailman/messages/nl cvs server: Updating mailman/messages/nl/LC_MESSAGES cvs checkout: move away mailman/messages/nl/LC_MESSAGES/mailman.mo; it is in the way C mailman/messages/nl/LC_MESSAGES/mailman.mo cvs checkout: move away mailman/messages/nl/LC_MESSAGES/mailman.po; it is in the way C mailman/messages/nl/LC_MESSAGES/mailman.po cvs server: Updating mailman/messages/no cvs server: Updating mailman/messages/no/LC_MESSAGES So my edit file is deleted and replaced with cvs version? Maybe i still do something wrong :) Danny.
So my edit file is deleted and replaced with cvs version?
Yes.
Maybe i still do something wrong :)
It's too late now. CVS merging would only work if you already have a sandbox. When checking out a fresh copy, no merging is done. So you should have checked out the CVS sandbox a month ago, and should have performed a cvs update now. You still can reproduce the sequence of actions, by: - checking out an old tree, with 'cvs co -D"last month" mailman', - copying your .po file over the CVS one, - updating to the current tree, with 'cvs up -A' (-A to remove the date tag) "last month" might be incorrect, since you really need to get the CVS state which you used to produce your current PO file. Regards, Martin
On Wed, 2002-10-30 at 22:32, Martin von Loewis wrote:
So my edit file is deleted and replaced with cvs version?
Yes.
Hmm... I don't think so. If you do "cvs update", yes then the file is messed up, but since Danny did "cvs checkout", nothing happened to his file, I think..
You still can reproduce the sequence of actions, by:
- checking out an old tree, with 'cvs co -D"last month" mailman', - copying your .po file over the CVS one, - updating to the current tree, with 'cvs up -A' (-A to remove the date tag)
Or, you can: - check out the current CVS tree to a new location, let's say /users/mailman-CVS - delete mailman.mo and mailman.po from /users/mailman-CVS/mailman/messages/nl/LC_MESSAGES - copy your translation (which you said were at /users/mailman-cvs/mailman/messages/nl/LC_MESSAGES/mailman.po) to /users/mailman-CVS/mailman/messages/nl/LC_MESSAGES/current.po - change directory to /users/mailman-CVS/mailman/messages/nl/LC_MESSAGES - run this command: msgmerge -o mailman.po current.po ../../mailman.pot - and then this one, to generate the binary catalog: msgfmt -o mailman.mo mailman.po Hope this helps. :)
Daniel Buchmann <Daniel.Buchmann@bibsys.no> writes:
Hmm... I don't think so. If you do "cvs update", yes then the file is messed up, but since Danny did "cvs checkout", nothing happened to his file, I think..
Ah, right. Even in case of the cvs update, CVS keeps a copy of the original file in .#file.version
- run this command: msgmerge -o mailman.po current.po ../../mailman.pot
- and then this one, to generate the binary catalog: msgfmt -o mailman.mo mailman.po
Yes, msgmerge is definitely the recommended way. Regards, Martin
Here's another approach, that I think you might want to try, Danny: Merge your working catalog with the catalog Barry generated. You do this by using the msgmerge utility: msgmerge -o <new-po-file> <your-work-file.po> mailman.pot So if the file you are working on is called mailman-work.po, first do a cvs update in nl/LC_MESSAGES (this shouldn't overwrite your work, but you can save your mailman-work.po somewhere else, for safety), then also in nl/LC_MESSAGES, type: msgmerge -o mailman.po mailman-work.po ../../mailman.pot This should overwrite the newly checked out mailman.po with your latest translation merged with the new mailman.pot and is probably what you want! :D On Tue, 2002-10-29 at 22:20, Barry A. Warsaw wrote:
"DT" == Danny Terweij <danny@terweij.nl> writes:
DT> I see (new checkins) that many lines are changed at the DT> mailman.po file (Bouncer Patch). How to merge the new DT> mailman.po(latest cvs b4+) with my mailman-work.po(b4) ? I DT> did serveral translations and i do not want it to be lost :(
Did you get CVS conflicts? Hopefully if so you didn't get a lot of them, but if you did you'll need to resolve them manually in an editor. Here's an entry from the cvs manual that helps explain the process of resolving conflicts:
http://www.cvshome.org/docs/manual/cvs_10.html#SEC86
-Barry
_______________________________________________ Mailman-i18n mailing list Mailman-i18n@python.org http://mail.python.org/mailman/listinfo/mailman-i18n
Here's another approach, that I think you might want to try, Danny: Merge your working catalog with the catalog Barry generated. You do this by using the msgmerge utility: msgmerge -o <new-po-file> <your-work-file.po> mailman.pot So if the file you are working on is called mailman-work.po, first do a cvs update in nl/LC_MESSAGES (this shouldn't overwrite your work, but you can save your mailman-work.po somewhere else, for safety), then also in nl/LC_MESSAGES, type: msgmerge -o mailman.po mailman-work.po ../../mailman.pot This should overwrite the newly checked out mailman.po with your latest translation merged with the new mailman.pot and is probably what you want! :D On Tue, 2002-10-29 at 22:20, Barry A. Warsaw wrote:
"DT" == Danny Terweij <danny@terweij.nl> writes:
DT> I see (new checkins) that many lines are changed at the DT> mailman.po file (Bouncer Patch). How to merge the new DT> mailman.po(latest cvs b4+) with my mailman-work.po(b4) ? I DT> did serveral translations and i do not want it to be lost :(
Did you get CVS conflicts? Hopefully if so you didn't get a lot of them, but if you did you'll need to resolve them manually in an editor. Here's an entry from the cvs manual that helps explain the process of resolving conflicts:
http://www.cvshome.org/docs/manual/cvs_10.html#SEC86
-Barry
_______________________________________________ Mailman-i18n mailing list Mailman-i18n@python.org http://mail.python.org/mailman/listinfo/mailman-i18n
-- Mvh Daniel Buchmann, Systemteknisk Avdeling, BIBSYS, NTNU. Tlf. 73 59 02 14
On Tue, Oct 29, 2002 at 10:00:31PM +0100, Danny Terweij wrote:
I see (new checkins) that many lines are changed at the mailman.po file (Bouncer Patch). How to merge the new mailman.po(latest cvs b4+) with my mailman-work.po(b4) ? I did serveral translations and i do not want it to be lost :( You just need to "merge" your current work with the latest mailman.pot
What I usually do: cd messages cvs update mailman.pot cd ru/LC_MESSAGES msgmerge -o current.po mailman.po ../../mailman.pot rm -f mailman.po mailman.mo cvs update mailman.po mailman.mo # you may want to compare the file in the repository with the one # you have: # diff -ub current.po mailman.po mv -f current.po mailman.po Hope this helps. -- Misha
participants (6)
-
barry@python.org
-
Daniel Buchmann
-
Danny Terweij
-
loewis@informatik.hu-berlin.de
-
Martin von Loewis
-
mss@mawhrin.net