[cvsnt] How are branches stored in repository, in terms of storage space efficiency?

Bo Berglund Bo.Berglund at system3r.se
Fri Aug 18 12:45:37 BST 2006


When you create a branch, in reality what you do is you add a little bit
of data to the repository side RCS file (filename,v) exactly the same
way
as when you tag it. A branch is just a different kind of tag.

So the file is not duplicated at all, it is the same file on the server
but the symbols list of that file has a new member, which is the tag
name
and the file revision it points to.
A branch revision always contains a zero in the numbers (ordinary tags
do not).

When you commit changes to a file in general a diff is computed by CVS
and stored in the RCS file with reference info to tell CVS the end
points
of the diff. This process is exactly the same for edits made on a branch

and on the trunk.

HTH


Best regards,

Bo Berglund


-----Original Message-----
From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf
Of Nick Duane
Sent: den 18 augusti 2006 12:57
To: cvsnt at cvsnt.org
Subject: [cvsnt] How are branches stored in repository,in terms of
storage space efficiency?

If I create a branch of a module how is that stored in the repository?
Is a 
copy made of each and every file in that module?  Or are only the diffs
of 
the files that are changed added?  Is there some document that talks
about 
this?

Thanks,
Nick 


_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt


More information about the cvsnt mailing list