[Top][All Lists]
[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.