[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: Peter Vogel <pvogel_at_arsin.com>
Date: 2001-01-03 17:07:28 CET

I think it's a *bad* idea to *always* use linking,
especially when that linking also seems to create
a branch automagically, though I suppose there are
ways to work around it (i.e. a file system
copy in the WC followed by an "add" operation in
the new location). There are times when a file is
linked/copied into another directory and it is
*desireable* for them to share changes (i.e. no branches),
and there are times when it is desireable that the
only record of the copy/link is a note on the
initial revision about where the file came from.

-Peter

--
Peter A. Vogel
Manager, Configuration Management
Arsin Corporation
4800 Great America Parkway Suite 425, Santa Clara, CA 95054
> -----Original Message-----
> From: Karl Fogel [mailto:kfogel@galois.collab.net]
> Sent: Wednesday, January 03, 2001 5:34 AM
> To: Greg Stein
> Cc: Peter Vogel; dev@subversion.tigris.org
> Subject: Re: FS copy model
> 
> 
> Greg Stein <gstein@lyra.org> writes:
> > Subversion has always intended to use the "linking" model 
> for copies. The
> > question is whether we create a new revision to remember 
> the operation.
> 
> I think JimB will best be able to follow up further on this thread.
> 
> -K
> 
> > 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.

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