Yoshiki Hayashi <yoshiki@xemacs.org> writes:
> <peter.westlake@arm.com> writes:
> > I think we may be talking at cross-purposes. What I mean is that
> > if we have two programs foo and bar that both use a library lib,
> > and I check out foo, giving me:
> >
> > foo/foo.c
> > foo/lib/lib.c
> >
> > and I edit foo/lib/lib.c and check it in,
> > you should then be able to check out bar and get
> >
> > bar/bar.c
> > bar/lib/lib.c
> >
> > with my changes to lib.c. I haven't seen anything in the
> > Subversion documentation to suggest that this can be done.
>
> If this is the goal, I think this can be implemented easily
> by adding 'link' node kind to subversion filesystem. It's
> like symoblic link in fs. Subversion already has copy node
> to do cheap copy. To retrieve contents, copy nodes and link
> nodes work exactly the same way. It will behave as if its
> node is the linked one. The only difference is commiting
> the change. Commiting to copied node won't touch linked
> node. The ordinary node will be created for its place. If
> you commit to link node, link node won't be changed. The
> linked node will be changed and link node will continue to
> point to the same path.
>
> Then you can say something like
>
> svn ln -s bar/lib foo/lib
>
> and achieve what you have described.
>
> I don't know the implications with regard to authentication
> etc. but this seems to be the easiest solution to me.
>
> (Not having followd subversion development closely for 4
> months and hoping my knowledge is not outdated yet. I've
> just finished the first semester of graudate school. I'd
> like to help subversion project but I'm heading to vaction
> in a few days...)
Glad to see you back, Yoshiki! Hope grad school isn't eating all your
time...
Yes, the system you describe is exactly along the lines of what we
have been thinking, though it's good to have your concrete
description.
A couple of things, to avoid confusion:
1. The fs doesn't have copy nodes, now. See the description in
subversion/libsvn_fs/structure for how copies were implemented
-- basically, there's a non-historical property on a node
revision saying what that noderev was copied from.
2. Since Subversion will version real symlinks in the expected way,
we should be careful to avoid using the same term for the
unrelated feature Yoshiki describes above. (Mike, Ben, and I
have been calling them "vnodes" or "virtual entries", but maybe
a better name will suggest itself?)
Again, this is definitely post-M3. :-)
-K
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:35 2006