OT: CVS

G

Gernot Frisch

Hi,

I know it's OT, but I also know lots of you know about it.
-How does CVS work in detail
-What does it do, when 2 users fix the same bug in function
differently, but update at the same day?

--
-Gernot
int main(int argc, char** argv) {printf
("%silto%c%cf%cgl%ssic%ccom%c", "ma", 58, 'g', 64, "ba", 46, 10);}

________________________________________
Looking for a good game? Do it yourself!
GLBasic - you can do
www.GLBasic.com
 
K

Karl Heinz Buchegger

Gernot said:
Hi,

I know it's OT, but I also know lots of you know about it.
-How does CVS work in detail
-What does it do, when 2 users fix the same bug in function
differently, but update at the same day?

Usually it asks the one how checks in last what to do, that is
which version is the correct one.
 
P

Patrik Stellmann

Gernot said:
Hi,

I know it's OT, but I also know lots of you know about it.
-How does CVS work in detail
-What does it do, when 2 users fix the same bug in function
differently, but update at the same day?
Maybe there are versions or settings that cause a different behavior but
this is the way i know it:
when you try to check in your code CVS will check if your code is based
on the same version as stored in the CVS. If so, it will just take over
the new code and increment the version (this would happen for the first
one who checks in the bugfix). If the version is different (as it would
be for the 2nd one trying to check in his bugfix) he has to check out
the new version first which will be merged with his own changes. If the
merger notes a conflict (that is when the same line has been changed by
both) it will mark the lines and give a warning. It is (or at least
should be) than the responsibility of the 2nd programmer to solve the
conflict before he checks in the merged code again.
A Danger is that if a bug has been fixed by changes in different lines
the merger (working line-based) won't note it.
 
K

Karthik Kumar

Gernot said:
Hi,

I know it's OT, but I also know lots of you know about it.
-How does CVS work in detail

You have something called a CVS server .
CVS maintains different versions of the same file (revisions).
It does this by basically storing the diff between successive versions
and tagging it , to provide support for branches etc.
-What does it do, when 2 users fix the same bug in function
differently, but update at the same day?

Well - that is actually a management problem than a CVS problem
actually. A conflict would occur then. But then, a 'conflict' would
occur only if both of you change the *same line* in the source code.
Otherwise CVS tries to do a smart merge by itself, though it is entirely
the responsible of the II person who commits, to check if the source
code is correct - syntactially and semantically.


There are some problems with CVS - like you can't delete directories
after they are created etc. and better source control mechanisms like
subversion are already in place. But then that would be entirely o.t.
though.


As another poster had pointed out, please refer to the CVS manuals.
And of course, the best way to get started is by practising it.

And there is info-cvs mailing list to help.

http://lists.gnu.org/mailman/listinfo/info-cvs .

If you have a linux box, chances are that all the executables are
there already.
And you need to set up a CVS server repository somewhere in your
local drive and start playing around with the same.

All the best !!
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads

int(a) vs (int)a 19
reference to parent inherritance? 9
reference to array? 13
queue where I can delete in the middle? 3
unreachable code? 4
OT: Linux .so linking 3
a[3} slower than a.x; a.z; a.z 27
date comparison 2

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top