[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Regarding how deltas are stored in CVS
From: |
Max Bowsher |
Subject: |
Re: Regarding how deltas are stored in CVS |
Date: |
Fri, 23 Apr 2004 23:57:56 +0100 |
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.
>
> If I read this right, a common case will take a lot more space than I
> thought. My current project is an example: I was just asked to go
> back and apply some current features to an old revision of a set of
> files. When I did that, I put in as much of the current code as I
> could without allowing any code to go in that could have side effects
> outside those intended. Some files I could literally copy from the
> HEAD revision (though I did it via the appropriate merge commands);
> others came close but not quite there, and of course still others
> remain very different from the head of the trunk.
>
> But I think what people are saying is that a copy of the head of
> the trunk, when placed on a branch, will basically create a
> reverse-duplicate set of deltas (perhaps condensed into a smaller
> number of them of course) to the set between the head of the trunk
> and the branch point.
Correct.
> 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.
>
> 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.
No, not without changing it so much it would essentially be an entirely new
and different format.
Max.