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

Re: question on symbolic links and windows

From: Andy Levy <andy.levy_at_gmail.com>
Date: Wed, 17 Sep 2008 13:50:03 -0400

On Wed, Sep 17, 2008 at 13:45, Steve Whitson <steven.whitson_at_gmail.com> wrote:
> Andy Levy wrote:
>
> On Wed, Sep 17, 2008 at 13:19, Steve Whitson <steven.whitson_at_gmail.com>
> wrote:
>
>
> I have the need to support symbolic links in my repository. But, when
> checked out on windows I'm not getting the regular file the symlink points
> to, but instead end up with a text file having content "link
> ../somefile.txt".
>
> For example, my repsoitroy has the following structure as a test
> ./test.txt
> ./testfolder/test.txt -> ../test.txt
>
> When this is checked out on windows the file .\test.txt is fine, but the
> file testfolder\test.txt contains the text "link ../test.txt".
>
> What am I doing wrong?
>
>
> Nothing. Symlinks don't work on Windows. NTFS lacked the ability to
> create true *NIX-like symlinks until Vista was released, and
> Subversion doesn't attempt to guess at whether that functionality is
> available or not - it assumes that it's not if you're on Windows.
>
>
> From the svn book:
> When a symlink is committed into a Subversion repository, Subversion
> remembers
> that the file was in fact a symlink, as well as the object to which the
> symlink "points."
> When that symlink is checked out to another working copy on a non-Windows
> system,
> Subversion reconstructs a real filesystem-level symbolic link from the
> versioned
> symlink. But that doesn't in any way limit the usability of working copies
> on systems
> such as Windows that do not support symlinks. On such systems, Subversion
> simply
> creates a regular text file whose contents are the path to which to the
> original symlink
> pointed. While that file can't be used as a symlink on a Windows system, it
> also won't
> prevent Windows users from performing their other Subversion-related
> activities.
>
> I expect and want a regular file in place of the symbolic link on windows
> (as stated in the book). How can I achieve this?

From what you described originally, isn't what you're getting exactly
what's described in the book? A text file containing the path to the
file.

"On such systems, Subversion simply creates a regular text file whose
*contents are the path to which to the original symlink pointed.*"

To get a copy of the actual file, you'll need to write a script to be
called after performing a checkout/update which finds these files and
copies the ones that are referenced by symlinks. This may cause your
WC status to display some modifications that really aren't.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: users-help_at_subversion.tigris.org
Received on 2008-09-17 19:50:37 CEST

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.