Loading ...
Sorry, an error occurred while loading the content.

Problem with symbolic links on Windows 7 NTFS - plain txt version (sorry)

Expand Messages
  • John Johnston
    I could not find a way to preserve both the symbolic link and file permissions when saving a file opened via a symbolic link. If the backupcopy option is
    Message 1 of 1 , Nov 30, 2011
    • 0 Attachment
      I could not find a way to preserve both the symbolic link and file permissions when saving a file opened via a symbolic link.

      If the backupcopy option is "auto" or "no" at the time that the file is written, the link is broken, and a new unlinked file with the same name replaces the symbolic link.

      c:\temp\vim>chmod 777 ../foo.txt

      c:\temp\vim>del foo.txt

      c:\temp\vim>mklink foo.txt ..\foo.txt
      symbolic link created for foo.txt <<===>> ..\foo.txt

      c:\temp\vim>dir /a ..\foo.txt foo.txt
      Volume in drive C has no label.
      Volume Serial Number is 120F-7D5B

      Directory of c:\temp

      11/30/2011  07:25 AM                17 foo.txt
                     1 File(s)             17 bytes

      Directory of c:\temp\vim

      11/30/2011  07:30 AM    <SYMLINK>      foo.txt [..\foo.txt]
                     1 File(s)              0 bytes
                     0 Dir(s)  323,489,423,360 bytes free

      c:\temp\vim>ls -l ../foo.txt foo.txt
      -rwxrwxrwx   1 VERTICAL\JohnJ  VERTICAL\Domain+Users      17 Nov 30 07:25 ../foo.txt
      lrwxrwxrwa   1 VERTICAL\JohnJ  VERTICAL\Domain+Users       0 Nov 30 07:30 foo.txt -> c:/temp/foo.txt

      c:\temp\vim>"C:\Program Files\Vim\vim73\gvim.exe" foo.txt

      c:\temp\vim>dir /a ..\foo.txt foo.txt
      Volume in drive C has no label.
      Volume Serial Number is 120F-7D5B

      Directory of c:\temp

      11/30/2011  07:25 AM                17 foo.txt
                     1 File(s)             17 bytes

      Directory of c:\temp\vim

      11/30/2011  07:30 AM                27 foo.txt
                     1 File(s)             27 bytes
                     0 Dir(s)  323,489,423,360 bytes free

      c:\temp\vim>ls -l ../foo.txt foo.txt
      -rwxrwxrwx   1 VERTICAL\JohnJ  VERTICAL\Domain+Users      17 Nov 30 07:25 ../foo.txt
      -rwxrwxrwa   1 VERTICAL\JohnJ  VERTICAL\Domain+Users      27 Nov 30 07:30 foo.txt

      If backupcopy is "yes", the link is not broken, but the file referred to by the link loses write permission.

      c:\temp\vim>chmod 777 ../foo.txt

      c:\temp\vim>del foo.txt

      c:\temp\vim>mklink foo.txt ..\foo.txt
      symbolic link created for foo.txt <<===>> ..\foo.txt

      c:\temp\vim>dir /a ..\foo.txt foo.txt
      Volume in drive C has no label.
      Volume Serial Number is 120F-7D5B

      Directory of c:\temp

      11/30/2011  07:25 AM                17 foo.txt
                     1 File(s)             17 bytes

      Directory of c:\temp\vim

      11/30/2011  07:32 AM    <SYMLINK>      foo.txt [..\foo.txt]
                     1 File(s)              0 bytes
                     0 Dir(s)  323,489,386,496 bytes free

      c:\temp\vim>ls -l ../foo.txt foo.txt
      -rwxrwxrwx   1 VERTICAL\JohnJ  VERTICAL\Domain+Users      17 Nov 30 07:25 ../foo.txt
      lrwxrwxrwa   1 VERTICAL\JohnJ  VERTICAL\Domain+Users       0 Nov 30 07:32 foo.txt -> c:/temp/foo.txt

      c:\temp\vim>"C:\Program Files\Vim\vim73\gvim.exe" foo.txt

      c:\temp\vim>dir /a ..\foo.txt foo.txt
      Volume in drive C has no label.
      Volume Serial Number is 120F-7D5B

      Directory of c:\temp

      11/30/2011  07:32 AM                27 foo.txt
                     1 File(s)             27 bytes

      Directory of c:\temp\vim

      11/30/2011  07:32 AM    <SYMLINK>      foo.txt [..\foo.txt]
                     1 File(s)              0 bytes
                     0 Dir(s)  323,489,234,944 bytes free

      c:\temp\vim>ls -l ../foo.txt foo.txt
      -r-xr-xr-a   1 VERTICAL\JohnJ  VERTICAL\Domain+Users      27 Nov 30 07:32 ../foo.txt
      lrwxrwxrwa   1 VERTICAL\JohnJ  VERTICAL\Domain+Users       0 Nov 30 07:32 foo.txt -> c:/temp/foo.txt

      The use of "ls" above is via MKS tools.  I get the same results if I use MKS "ln -s ../foo.txt ." instead of mklink.

      Thanks,
      John Johnston

      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php
    Your message has been successfully submitted and would be delivered to recipients shortly.