info-cvs
[Top][All Lists]
Advanced

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

Re: Regarding how deltas are stored in CVS


From: Spiro Trikaliotis
Subject: Re: Regarding how deltas are stored in CVS
Date: Sat, 24 Apr 2004 11:40:11 +0200
User-agent: Mutt/1.5.5.1+cvs20040112i

Hello,

* On Fri, Apr 23, 2004 at 05:20:59PM -0400 Doug Lee wrote:

> It was mentioned on another thread that CVS stores the HEAD revision
> in its entirety, older trunk revisions as backward deltas from the
> HEAD, and branches as forward deltas from the branch point.

Yes, that's right.

CVS uses the RCS file format. You might want to have a look at 
        
  Walter F. Tichy: RCS - a system for version control. ACM
  Software.Practice & Experience, 15(7), July 1985, pp. 637-654
  (available online from http://citeseer.ist.psu.edu/tichy91rcs.html or
  http://www.hpcc.ecs.soton.ac.uk/hpci/tools/cvs/html/rcs.html or
  http://docs.freebsd.org/44doc/psd/13.rcs/paper.pdf or ...) 

I found this very helpful when I started using RCS, and it helps
understanding CVS, too. Anyway, not every RCS feature is taken over to
CVS.

> If I read this right, a common case will take a lot more space than I
> thought.  My current project is an example:
[...]

Yes, it is. As well as the common use to import on a vendor branch,
which can double the space needed if all files are modified.

But I tend to repeat myself. ;-)

> Somehow I'd been assuming that CVS would maybe notice that the head of
> my branch and the head of the trunk produced identical contents for
> some files and might only store one copy.

Well, almost this would be possible (search the revision which is most
similar to the one I'm just checking in), this would need very much time
and would complicate maintaining the history, which can now be done by
looking at the revision numbers.

> I don't yet know enough about the RCS file format, but I wonder if the
> format itself would support deltas forming a different graph than is
> currently formed, to optimize file size and/or number of deltas from
> point to point.

Without thinking too much about it, I doubt that the format will allow
such things. Anyway, it allows arbitrary tagging, so tagging might help
you in getting this done. Anyway, I don't know if this would break CVS.

Best regards,
   Spiro.

-- 
Spiro R. Trikaliotis         I'm subscribed to the mailing lists I'm posting,
http://www.trikaliotis.net/  so please refrain from Cc:ing me. Thank you.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]