[Top][All Lists]

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

Re: Why does CVS COPY a file (binary) to tag it? Can this be overridden

From: Eric Siegerman
Subject: Re: Why does CVS COPY a file (binary) to tag it? Can this be overridden?
Date: Mon, 25 Feb 2002 13:28:51 -0500
User-agent: Mutt/1.2.5i

On Mon, Feb 25, 2002 at 05:31:11PM +0000, Schlitz wrote:
> If I have a 1 MB binary in CVS , and I only apply a tag to it-
> making no changes, not commiting it or anything, does CVS store
> a whole new copy just because of the tag, or is that just a
> temporary copy and replace of the original?

It's both better and worse than you suspect.

The ,v file does NOT grow by 1 MB, but only by:
        strlen(tag_name) + strlen(rev_number) + K
bytes, where K is approximately 3.

To make the change, however, CVS uses a copy-and-rename strategy,
rather than modifying the ,v file in place.  So it must make a
temporary copy of the ,v file; and for reasons that Larry Jones
has recently explained, the copy must live in the same filesystem
as the original -- it can't go into /tmp.  Now, ,v files for
binaries tend to grow quickly, since binaries tend not to "diff"
very efficiently; thus, the amount of space needed *temporarily*
can easily be many times the size of the file in your working
directory.  But again, that's only temporary; the space needed
*permanently* is only a few bytes.


|  | /\
|-_|/  >   Eric Siegerman, Toronto, Ont.        address@hidden
|  |  /
One ring to rule the mall.
        - Movie review headline, eye Magazine

reply via email to

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