You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Bill Comisky <bc...@pobox.com> on 2003/07/23 17:44:32 UTC
'svn ln'? (was Re: let's kill svn:externals)
On Wed, 23 Jul 2003, solo turn wrote:
> is there an alternative which would fit better into the design and does the same thing?
>
I use svn:externals only for intra-repostory "linking". My needs would be
met by the equivalent of a "svn ln" command. This seems like a feature
that isn't creeping too far from cp/mv in my mind.
I didn't see any ENHANCEMENT issues open for a 'svn ln', and I'm having
trouble searching the mailing list at the moment. Is there any reason
something like this would be a really bad idea?
On svn:externals.. I'm already using scripts to work around some
svn:externals limitations (like tagging & thumbtacking externals to
specific revisions). It would be a bit messy, but scripting everything
wouldn't kill me. Though, in my case at least, something like 'svn ln'
would work better.
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
Re: 'svn ln'? (was Re: let's kill svn:externals)
Posted by SteveKing <st...@gmx.ch>.
----- Original Message -----
From: <pl...@lanminds.com>
> 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
Windows has, besides the shortcuts, also something called "hardlinks". But
only on NTFS formatted harddisk - FAT doesn't support that feature.
Stefan
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: 'svn ln'? (was Re: let's kill svn:externals)
Posted by Jack Repenning <jr...@collab.net>.
At 5:37 PM -0500 7/23/03, Bill Comisky wrote:
>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).
If I'm following you correctly, this is Really Hard To Do in
Subversion. In SVN, a directory contains a particular version of a
file, not the abstract file. Every time a file or directory gets a
new revision, so does its containing directory. And therefore, *its*
containing directory. And so on. And so on. Clear back to the root
of the repository. This is intimately related to one of the SVN
trademark cool things: O(1) tags.
Looking over your remarks, you may also be assuming that all files
are within the same repository--notably, that all files use the same
conventions about where you copy things to. This is not necessarily
the case.
--
-==-
Jack Repenning
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
o: 650.228.2562
c: 408.835-8090
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: 'svn ln'? (was Re: let's kill svn:externals)
Posted by Bill Comisky <bc...@pobox.com>.
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
Re: 'svn ln'? (was Re: let's kill svn:externals)
Posted by Jack Repenning <jr...@collab.net>.
At 4:23 PM -0400 7/23/03, pll@lanminds.com wrote:
>Then, there's MacOS. I don't know
>if OS X supports symlinks or not
Yes.
>However, I recently heard they also somehow managed to keep
>the data/resource forks concept alive in OS X as well.
Yes, and also to invent a new thing (variously called "package" or
"bundle") that's giving us fits. We've taken to calling these
"opaque collections," and they're a whole whale of fun ... but not
relevant to the symlink question.
But even granted symlinks, "the svn:externals problem" is not
necessarily solved. The hard questions are things like redefining
things when branches are created, propagating checkouts, commits,
log, blah blah through them, linking to foreign entities like other
repositories, other VC systems, tarballs, blah blah.
--
-==-
Jack Repenning
CollabNet, Inc.
8000 Marina Boulevard, Suite 600
Brisbane, California 94005
o: 650.228.2562
c: 408.835-8090
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: 'svn ln'? (was Re: let's kill svn:externals)
Posted by Jeffrey Melloy <jm...@visualdistortion.org>.
Symlinks definitely work on OS X, and there are also OS 9 style
"Aliases", using the data/resource forks, etc.
- Jeff
On Wednesday, July 23, 2003, at 03:23 PM, 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 :)
>
> HTH,
> --
>
> Seeya,
> Paul
> --
> Key fingerprint = 1660 FECC 5D21 D286 F853 E808 BB07 9239 53F1 28EE
>
> It may look like I'm just sitting here doing nothing,
> but I'm really actively waiting for all my problems to go away.
>
> If you're not having fun, you're not doing it right!
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: dev-help@subversion.tigris.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Re: 'svn ln'? (was Re: let's kill svn:externals)
Posted by pl...@lanminds.com.
>>>>> 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 :)
HTH,
--
Seeya,
Paul
--
Key fingerprint = 1660 FECC 5D21 D286 F853 E808 BB07 9239 53F1 28EE
It may look like I'm just sitting here doing nothing,
but I'm really actively waiting for all my problems to go away.
If you're not having fun, you're not doing it right!
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org