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

Re: Q: identical files "shared" in repository?

From: Bruce Elrick <bruce_at_elrick.ca>
Date: 2005-04-11 16:39:56 CEST

John Peacock wrote:

> Ph. Marek wrote:
>
>> I believe I can't make myself really clear. Sorry, I'll try again:
>> If there are many files with identical data, are they stored in the
>> repository multiple times or are they referenced to a common block?
>
>
> The latter. When making a copy (branch or tag are equivalent here) of
> a file, the repository simply notes that this new copy points to the
> old file contents (and indeed where that is located is also saved as a
> special copy-from attribute). When you change that file, the contents
> are then physically copied from the original file and your
> modifications applied (I think this part is accurate). So branches
> are as close to zero "cost" as possible (effectively headers only
> until you make a change to any file).
>
> When you are using a command that understands history, the copy-from
> attribute allows you to walk back past the point where the file was
> copied (for example, using `svn annotate`). At some point (probably
> not until 2.0), there will be a matching copy-to attribute, so you
> could apply a bugfix to a file and all of it's decendants too (if you
> had multiple client specific branches, for example).
>
> HTH
>
> John
>
I think he was also implying that the update to the branched files would
be stored in a delta fashion relative to the copied-from file, as
opposed to what you describe above, i.e. full text for the first version
that differs from the copied-from. I don't think Subversion does that
(delta realtive to copied-from), does it?

Cheers...
Bruce

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Apr 11 16:42:56 2005

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