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

Re: Re: how to work more efficiently

From: B Smith-Mannschott <bsmith.occs_at_gmail.com>
Date: 2007-11-13 19:00:30 CET

On Nov 13, 2007 5:17 PM, Danny De Koster <ddk@fidelity-soft.be> wrote:
> Hi Ulrich,
> Thanks for your comment.
> I've tried to follow the manual and I succeeded, but.... I have a lot of source files in my project and only 1 or 2 source files have some modification for a customer. Do I need to copy the whole project to a branches which can be used for that customer?


This may sound bad, but it isn't. Subversion needs hardly any
additional space in the repository for such a copy.

[quote http://svnbook.red-bean.com/en/1.1/ch04s02.html ]

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

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.


// Ben Smith-Mannschott
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Tue Nov 13 19:00:57 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.