Re: erratic commit records?



On Fri, 2005-04-29 at 11:29 -0400, Adam Weinberger wrote: 
> Clytie Siddall wrote:
> > Hi everyone :)
> > 
> > I started asking the cvs people, but it seems to be something I'm doing  
> > wrong. I wish I could work out what. :(

[snip]

> > Please tell me if I'm doing the right thing: I am following the  
> > instructions on the page about using Gnome cvs as a translator.
> > 
> > 1. I  checkout the .po directory of the file I'm translating or editing.
> > 
> > (a) if a HEAD file:
> > 
> > cvs -z3 -d :ext:clyties cvs gnome org:/cvs/gnome co FILENAME/po
> > 
> > (b) if a gnome-2-10 file:
> > 
> > cvs -z3 -d :ext:clyties cvs gnome org:/cvs/gnome -r gnome-2-10  FILENAME/po
> > 
> > 2. I even change the name of the directory on my drive, once I've  
> > checked it out, to gnome-2-10-FILENAME if it's a gnome-2-10 branch  file.

Just a side note, you can add "-d gnome-2-10-FILENAME" to the
cvs co command to do this, avoiding the need to rename the
directory afterwards.  You have to add it after the co, not
before it, because CVS likes to warp your brain.

> > 
> > 3. Once I've finished the file, I change to the gnome/HEAD/FILENAME/po  
> > or gnome/gnome-2-10/gnome-2-10-FILENAME/po directory and run:
> > 
> > cvs -z3 -d :ext:clyties cvs gnome org:/cvs/gnome up -Pd

Another side note, once you're inside a directory you got
from a CVS checkout, you don't have to pass the repository
with -d anymore.  That should make your wrists happier.

> > 
> > 4. Then I edit the ChangeLog.
> > 
> > 5. Then I run:
> > 
> > cvs commit
> > 
> > which says it's committed the changes.
> > 
> > Please tell me what I'm doing wrong. It's really frustrating to have  
> > done all that work, and not see it update at all.
> > 
> > :(
> > 
> > Thankyou for any help you can offer.
> 
> Your problem is Step 3. By running cvs up, you overwrite the po file 
> you've just edited. Try the following steps instead:
> 
> 1. cvs co {-r gnome-2-10} module/po
> 2. cd module/po
> 3. edit your_translation.po, ChangeLog
> 4. cvs commit

CVS doesn't clobber your local changes to files, unless you
manually pass it the -C option.  That would be a remarkably
dumb thing for version control software to do.  Instead, it
will attempt to merge your changes with the changes on the
server since the revision you checked out, which is pretty
much what you want it to do.

But sometimes it just isn't smart enough to merge the changes
together.  It just uses trivial line diffs; it doesn't really
know anything about the syntax of the files.  So when it can't
merge changes, it will print a 'C' before the filename in its
output (an 'M' denotes a clean merge).  And then it'll give
a little message at the end telling you there are conflicts.

If this happens, you need to resolve the conflicts manually.
This can be a real pain in the ass sometimes.

--
Shaun




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]