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

Re: 'svn ln'? (was Re: let's kill svn:externals)

From: Bill Comisky <bcomisky_at_pobox.com>
Date: 2003-07-24 00:37:00 CEST

On Wed, 23 Jul 2003 pll@lanminds.com wrote:

>
> >>>>> On Wed, 23 Jul 2003, "Bill" == Bill Comisky wrote:
>
> Bill> I didn't see any ENHANCEMENT issues open for a 'svn ln', and
> Bill> I'm having trouble searching the mailing list at the moment.
> Bill> Is there any reason something like this would be a really bad
> Bill> idea?
>
> It's been discussed before, the real problem seems to be how to
> implement symlinks in a portable way. Basically, UNIX (and it's
> variants/derivatives) is the only platform where the concept of
> symlinks really exists. Windows has "shortcuts", but they're not at
> all the same as symlinks (AFAIK). Then, there's MacOS. I don't know
> if OS X supports symlinks or not, one would hope, since it's BSD
> based. However, I recently heard they also somehow managed to keep
> the data/resource forks concept alive in OS X as well.
>
> So, I don't think that it's a bad idea, I just think it's a difficult
> idea to implement correctly in a portable manner.
>
> I would definitely love such a feature myself :)

Are we talking about the same thing? I'm not talking about versioning OS
symlinks, but internal-to-the-Subversion-filesystem links. Granted I can
see how versioning OS symlinks could give similar behaviour.

I don't know how/if this can be done since I've only just started trying
to figure out the SVN guts (currently looking at the figures in
svn-design.pdf, chapter 7, "Repository Structure").

What I'm imagining are links in "space" but not in "time", that is links
between nodes within the tree at revision == N. So when you checkout an
old revision your links are followed within that revision. On a 'svn cp'
the links pointing to nodes within the copied directory would have to now
point to new tag/branch. I don't know, maybe it is simpler to link on the
OS side (though less portable). But you'd have to checkout enough of the
tree to make sure and get the stuff being linked to. I'd like to be able
to just checkout /repo/dir2 below and then update, and have the changes in
/repo/dir2/dira mirrored in /repo/dir1/dira.

/repo/dir1/dira
         /dirb
         /dirc
     dir2/(link to repo/dir1/dira)
         /dird

Though I'm sure there are issues I'm not considering, like if you checkout
the whole /repo then make changes to both /repo/dir1/dira and
/repo/dir2/dira. I supposed you'd have to merge or choke on that.

Just speculating, is any of this feasible (or desirable)? I'm trying to
come up with something to replace my use of svn:externals for this
purpose, since I'm not feeling real secure about its future right now. :)

bill

-- 
Bill Comisky
bcomisky@pobox.com
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Jul 24 00:37:56 2003

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.