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

Re: FS copy model

From: Greg Stein <gstein_at_lyra.org>
Date: 2001-01-03 10:17:32 CET

Subversion has always intended to use the "linking" model for copies. The
question is whether we create a new revision to remember the operation.

Cheers,
-g

On Wed, Jan 03, 2001 at 12:38:39AM -0800, Peter Vogel wrote:
> My personal opinion is that *copying* implies no need
> to maintain prior history, but *linking* implies that
> the two files share a common history and future (though
> the futures may be divergent (branches, etc)).
>
> Again, personal opinion, but based on 12 years
> experience with this sort of thing...
>
> -Peter
> --
> Peter A. Vogel
> Manager, Configuration Management
> Arsin Corporation
> 4800 Great America Parkway Suite 425, Santa Clara, CA 95054
>
>
>
>
> > -----Original Message-----
> > From: Greg Stein [mailto:gstein@lyra.org]
> > Sent: Tuesday, January 02, 2001 8:47 PM
> > To: dev@subversion.tigris.org
> > Subject: FS copy model
> >
> >
> > Okay... this isn't related to the network layer. Honest!
> >
> > :-)
> >
> >
> > Let's say that I have the following items of interest in the FS:
> >
> > PATH ID
> > / 1.37
> > /A 50.7
> > /A/foo 73.4
> > /B 61.8
> >
> > Now I make a copy of /A/foo to /B/foo. The IDs are now:
> >
> > / 1.38
> > /A 50.7
> > /A/foo 73.4
> > /B 61.9
> > /B/foo 73.4
> >
> > And one more copy to /B/bar:
> >
> > / 1.39
> > /A 50.7
> > /A/foo 73.4
> > /B 61.10
> > /B/foo 73.4
> > /B/bar 73.4
> >
> > In each copy, you'll note that only the directory's ID
> > changes because I'm
> > not actually making any change to 73.4. We see /B change and
> > the resulting
> > bubble-up to /.
> >
> >
> > Question: should /B/foo and /B/bar know that they came from
> > /A/foo? To put
> > it another way, when somebody pulls up a change log for /B/foo:
> >
> > 1) they will see the changes from 73.1 thru 73.4
> > 2) will they *also* see that /B/foo was copied from /A/foo?
> >
> > In the above handling of node IDs and copying, the answer is
> > "No, they have
> > no way of knowing whether /B/foo was copied from /A/foo or
> > from /B/bar. The
> > user *might* have a way to see that they are related, but only the
> > inspection of parent directory changes will show the actual
> > ordering of
> > copies. Even then, the comment for the revision may not
> > specify what was
> > copied from where."
> >
> > Another alternative is to spin a new revision of 73.4 and insert some
> > property / comment / marker saying that it was copied from
> > /A/foo. The final
> > ID table would look like:
> >
> > / 1.39
> > /A 50.7
> > /A/foo 73.4
> > /B 61.10
> > /B/foo 73.4.1.1
> > /B/bar 73.4.2.1
> >
> >
> > Which approach are we using today? (has it been considered?)
> > Is that the
> > preferred approach?
> >
> > I think another way to phrase the question is:
> >
> > Do we record a copy from one location to another in the FS?
> > If so, then
> > how is it recorded? Is there a machine-readable marker? (the checkin
> > comment is not machine-readable)
> >
> > Cheers,
> > -g
> >
> > --
> > Greg Stein, http://www.lyra.org/
> >

-- 
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:19 2006

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