You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Eric Jensen <ej...@idiglobal.com> on 2007/02/14 16:17:00 UTC

Managing Symlinks

Moving our rather large and complex system from CVS to Subversion and 
ran into an interesting issue.  I've read that Subversion now handles 
symlinks, which was good because we just moved over to a new symlink 
based file override system.  So we have a lot of symlinks.  Our normal 
app size is about 750mb, with images, Flash, etc.  When I import it into 
Subversion though, it balloons to 2.3GB.  When I look at the folders 
that have a lot of symlinks, it looks like there is a copy of the 
original file in the .svn/text-base folder.  I don't really understand 
that.  If Subversion is supposedly just managing the symlink, why is the 
target file data imported in?  Is there a better way to manage all these 
symlinks with Subversion?

Eric

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Managing Symlinks

Posted by Eric Jensen <ej...@idiglobal.com>.
Looks like you are right.  I'm a bit confused as all the files I had 
looked at earlier were binary and had large file sizes in their 
.svn/text-base entries (often over a meg).  I did a diff on the .base 
file and the original and it didn't report anything.  But now all the 
files I'm trying do just have one line of text "link file.name".  Which 
only makes me more confused.  If all these symlink files are just 4K 
with their one line entries, how did the folder go from 750mb to 2.3GB?  
It should have only maybe doubled in size as .svn/text-base would store 
data for normal files.  Guess I'll just keep looking into it.  Can't 
help but think something didn't go right on the import.  I know it is 
something with the .svn folders.  If I do a svn export then it's back to 
750mb.

Thanks for the clarification.
Eric

Frodak Baksik wrote:
> On 2/14/07, Eric Jensen <ej...@idiglobal.com> wrote:
>> Moving our rather large and complex system from CVS to Subversion and
>> ran into an interesting issue.  I've read that Subversion now handles
>> symlinks, which was good because we just moved over to a new symlink
>> based file override system.  So we have a lot of symlinks.  Our normal
>> app size is about 750mb, with images, Flash, etc.  When I import it into
>> Subversion though, it balloons to 2.3GB.  When I look at the folders
>> that have a lot of symlinks, it looks like there is a copy of the
>> original file in the .svn/text-base folder.  I don't really understand
>> that.  If Subversion is supposedly just managing the symlink, why is the
>> target file data imported in?  Is there a better way to manage all these
>> symlinks with Subversion?
>>
>> Eric
>
> Have you verified the contents of the .svn/text-base item?
>
> Here is one of my symlinks...
>
> $ svn pl -v link.txt
> Properties on 'link.txt':
>  svn:special : *
>
> fbaksik@F-BAKSIK ~/text
> $ ll link.txt
> lrwxrwxrwx 1 fbaksik Users 10 Feb 14 11:37 link.txt -> file_1.txt
>
> fbaksik@F-BAKSIK ~/text
> $ cat .svn/text-base/link.txt.svn-base
> link file_1.txt
>
> My understanding is that this is normal.  If this link is checked out
> via a windows client it'll just create a file  with the contents "link
> file_1.txt", since windows doesn't support symlinks.
>
> Does Subversion support symlinks?
>
> Subversion 1.1 (and later) has the ability to put a symlink under
> version control, via the usual svn add command.
>
>> From the FAQ:
> Details: the Subversion repository has no internal concept of a
> symlink. It stores a "versioned symlink" as an ordinary file with an
> 'svn:special' property attached. The svn client (on unix) sees the
> property and translates the file into a symlink in the working copy.
> Win32 has no symlinks, so a win32 client won't do any such
> translation: the object appears as a normal file.
>
> If I create a HARD link then SVN treats it just as any other file.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Managing Symlinks

Posted by Frodak Baksik <fr...@gmail.com>.
On 2/14/07, Eric Jensen <ej...@idiglobal.com> wrote:
> Moving our rather large and complex system from CVS to Subversion and
> ran into an interesting issue.  I've read that Subversion now handles
> symlinks, which was good because we just moved over to a new symlink
> based file override system.  So we have a lot of symlinks.  Our normal
> app size is about 750mb, with images, Flash, etc.  When I import it into
> Subversion though, it balloons to 2.3GB.  When I look at the folders
> that have a lot of symlinks, it looks like there is a copy of the
> original file in the .svn/text-base folder.  I don't really understand
> that.  If Subversion is supposedly just managing the symlink, why is the
> target file data imported in?  Is there a better way to manage all these
> symlinks with Subversion?
>
> Eric

Have you verified the contents of the .svn/text-base item?

Here is one of my symlinks...

$ svn pl -v link.txt
Properties on 'link.txt':
  svn:special : *

fbaksik@F-BAKSIK ~/text
$ ll link.txt
lrwxrwxrwx 1 fbaksik Users 10 Feb 14 11:37 link.txt -> file_1.txt

fbaksik@F-BAKSIK ~/text
$ cat .svn/text-base/link.txt.svn-base
link file_1.txt

My understanding is that this is normal.  If this link is checked out
via a windows client it'll just create a file  with the contents "link
file_1.txt", since windows doesn't support symlinks.

Does Subversion support symlinks?

Subversion 1.1 (and later) has the ability to put a symlink under
version control, via the usual svn add command.