[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: Karl Fogel <kfogel_at_galois.collab.net>
Date: 2001-01-03 14:50:55 CET

"Linking" just means that storage in the repository is shared. It is
irrelevant to the clients how the repository arranges such things. Of
course in the working copy, separate copies are separate files, and if
you change just one of them and then commit, it will only affect that
(i.e., the repository does copy-on-write).

-K

Peter Vogel <pvogel@arsin.com> writes:
> 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.