On Tue, 2004-07-27 at 03:22, Томислав Марковски wrote:
Hello, this is my question:
Recently, two of our translation team members (I and another member)
accidentaly worked on the same .po file. I didn't notice that he has
already "Take"n the file. Sometime after, I did a "cvs up" and our
translations didn't match. So I had some lines in the file which pointed
my version and his versio delimited by ">>>>> his trans ===== my
trans
<<<<<<" and so on. It was hard to remove them manually, since a
lot of
work has been done. I solved this by deleting the .po file and did a
"cvs up" again, which downloaded his version only. Is there a way to
overwrite my changes when updating using some cvs commands?
Thanks
Hi,
CVS was designed to help developers working on the same file at the same
time. Concurrency is the key in CVS.
There were problems with your translation because the wrong operation
was done. Both translators "uploaded" without checking the existence of
changes in CVS repository.
To avoid conflicts, the right procedure is:
1. checkout a module/file
2. work on the module/file and make all desired changes
3. compare modified module/file with latest version in CVS
4. if someone made changes in CVS after the file was checked out,
perform a merge operation
5. commit modified/merged module/file to CVS repository
Step 4 is the one you didn't do.
There are very nice graphical tools that can be used with CVS. Eclipse
(
http://www.eclipse.org) will let you know when someone committed a file
before you finished your changes. It can also assist you performing the
necessary merge, avoiding those >>>>>, ==== and <<<< that
ruined your
file.
As a matter of fact, it wasn't necessary at all to add take/release
mechanism in the web site to avoid concurrent translations. CVS can
handle that.
Hope this helps,
Rodolfo
--
Rodolfo M. Raya <rodolfo(a)heartsome.net>
Heartsome Holdings Pte. Ltd.