[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Cleaning the repository...

From: B. Smith-Mannschott <benpsm_at_gmail.com>
Date: 2007-01-16 23:31:50 CET

On Jan 16, 2007, at 23:12, hedley.finger@myob.com wrote:

> Andy, Sebastian:
>> cheap copies
> For the unwashed, unwary, and unclued, what is a "cheap copy"?

With great wisdom, "Version Control with Subversion" speaks so:

# Cheap Copies
# Subversion's repository has a special design. When you copy a
# directory, you don't need to worry about the repository growing
# huge—Subversion doesn't actually duplicate any data. Instead, it
# creates a new directory entry that points to an existing tree.
# If you're a Unix user, this is the same concept as a hard-link.
# From there, the copy is said to be “lazy”. That is, if you
# commit a change to one file within the copied directory, then
# only that file changes—the rest of the files continue to exist
# as links to the original files in the original directory.
# This is why you'll often hear Subversion users talk about “cheap
# copies”. It doesn't matter how large the directory is—it takes a
# very tiny, constant amount of time to make a copy of it. In
# fact, this feature is the basis of how commits work in
# Subversion: each revision is a “cheap copy” of the previous
# revision, with a few items lazily changed within. (To read more
# about this, visit Subversion's website and read about the
# “bubble up” method in Subversion's design documents.)
# Of course, these internal mechanics of copying and sharing data
# are hidden from the user, who simply sees copies of trees. The
# main point here is that copies are cheap, both in time and
# space. Make branches as often as you want.


> If Subversion uses copies, won't a project consisting of thousands of
> files rapidly eat up your disk quota.

Nope. The copies are cheap. Really cheap. And compressed too.

> No doubt this information is in The
> Book


> but I couldn't find it.

// Ben

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Jan 16 23:32:21 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.