Uploaded image for project: 'Subversion'
  1. Subversion
  2. SVN-3570

Add support for Windows symlinks (junction points)

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: all
    • Fix Version/s: blue-sky
    • Component/s: unknown
    • Labels:
      None
    • Environment:

      Windows Vista

      Description

      Starting with Windows Vista there is full support for all kinds of symlinks. Even Windows XP does have partial support for 
      symlinks.
      
      Currently subversion gives this error message when you try to submit symlinks from Windows:
      "Symbolic links are not supported on this platform"
      
      Information regarding symlinks under Windows
      http://msdn.microsoft.com/en-us/library/aa365680(VS.85).aspx
      
      Remark, under Windows directory symlinks are called junction points and also symlinks are working only on NTFS. 
      
      It could be helpful to read http://bugs.python.org/issue1578269 - specially to be aware about the fact that by default only 
      Administrators can create symlinks. Anyway subversion should only try create the symlink and if this fails to display an error 
      message indicating a solution to the user (assigning this privilege to normal user).
      

      Original issue reported by intersol

        Activity

        Hide
        stsp Stefan Sperling added a comment - - edited

        Issue SVN-3987 has been marked as a duplicate of this issue.

        Show
        stsp Stefan Sperling added a comment - - edited Issue SVN-3987 has been marked as a duplicate of this issue.
        Hide
        stsp Stefan Sperling added a comment -

        See also http://svn.haxx.se/users/archive-2011-07/0058.shtml
        

        Show
        stsp Stefan Sperling added a comment - See also http://svn.haxx.se/users/archive-2011-07/0058.shtml
        Hide
        subversion-importer Subversion Importer added a comment -

        Thanks Stefan, during my searches I wasn't able to find the thread specified by you. 
        I find it very useful.
        
        I was able to locate APR tracker and found an invalid bug with a very verbose 
        discussion on it
        https://issues.apache.org/bugzilla/show_bug.cgi?id=47630 (interesting)
        
        I suppose you are more familiar with APR. Could you create a feature request in the 
        APR tracker for solving this problem? 
        
        Does the APR has an API for creating symlinks? If so it should be quite easy to add 
        support for Windows - I could even try this.
        
        Regarding, point #3, this is Microsoft task job to deal with this limitation. Anyway 
        on Windows running as Administrator is more likely than on Linux.
        
        

        Original comment by intersol

        Show
        subversion-importer Subversion Importer added a comment - Thanks Stefan, during my searches I wasn't able to find the thread specified by you. I find it very useful. I was able to locate APR tracker and found an invalid bug with a very verbose discussion on it https://issues.apache.org/bugzilla/show_bug.cgi?id=47630 (interesting) I suppose you are more familiar with APR. Could you create a feature request in the APR tracker for solving this problem? Does the APR has an API for creating symlinks? If so it should be quite easy to add support for Windows - I could even try this. Regarding, point #3, this is Microsoft task job to deal with this limitation. Anyway on Windows running as Administrator is more likely than on Linux. Original comment by intersol
        Hide
        stsp Stefan Sperling added a comment -

        In the future, please do not file issues without naming a bug buddy (someone
        very familiar with Subversion who agrees the bug is worth filing).
        
        This topic has in fact been discussed a lot on the mailing lists already.
        One such thread is here:
        http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2415073
        
        As far as I understood from that discussion, this is what makes this feature
        request non-trivial:
        
        1) There are multiple APIs for symlinks on Windows, each variant has its own quirks.
        2) From an architectural point of view, it would be better to add support for
        junctions to APR first. Subversion relies on APR for portability and we're
        trying to avoid platform-specific code as much as possible.
        3) The fact that it only works after configuring user permissions is a bit
        awkward, and may limit the number of users actually using this feature.
        
        We can leave this bug open to keep the request registered, but realistically
        speaking I don't expect it to be resolved any time soon. But maybe, some day,
        someone will pick it up.
        

        Show
        stsp Stefan Sperling added a comment - In the future, please do not file issues without naming a bug buddy (someone very familiar with Subversion who agrees the bug is worth filing). This topic has in fact been discussed a lot on the mailing lists already. One such thread is here: http://subversion.tigris.org/ds/viewMessage.do?dsForumId=1065&dsMessageId=2415073 As far as I understood from that discussion, this is what makes this feature request non-trivial: 1) There are multiple APIs for symlinks on Windows, each variant has its own quirks. 2) From an architectural point of view, it would be better to add support for junctions to APR first. Subversion relies on APR for portability and we're trying to avoid platform-specific code as much as possible. 3) The fact that it only works after configuring user permissions is a bit awkward, and may limit the number of users actually using this feature. We can leave this bug open to keep the request registered, but realistically speaking I don't expect it to be resolved any time soon. But maybe, some day, someone will pick it up.
        Hide
        subversion-importer Subversion Importer added a comment -

        This would be useful for me - I was surprised to learn that symlinks are not 
        supported.
        

        Original comment by nbolton

        Show
        subversion-importer Subversion Importer added a comment - This would be useful for me - I was surprised to learn that symlinks are not supported. Original comment by nbolton

          People

          • Assignee:
            Unassigned
            Reporter:
            subversion-importer Subversion Importer
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:

              Development