<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...)
--
Yoshiki Hayashi
---------------------------------------------------------------------
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:34 2006