Evitar que a versão do Windows do Vim destrua outras permissões de sistemas de arquivos

4

Atualmente, estou usando a versão do windows do gVim para editar arquivos de origem em uma unidade de rede mapeada para um sistema linux, bem como arquivos locais criados no cygwin.

O problema é que a versão windows do gVim destrói as permissões do arquivo original nos respectivos sistemas. IE: Arquivos no cygwin são padronizados para 077. Quando editado pela versão do windows do vim eles são salvos como 777.Este problema nem sequer ocorre ao usar o ms-notepad (assim como todos os outros editores que eu tentei), então Eu não tenho certeza do porque o gVim faz isso.

Uma possível solução seria usar o gVim do cygwin para tudo, mas isso é um pouco trabalhoso pois requer a execução de um ambiente x11 para suportá-lo, e causa alguns problemas ao executar alguns comandos dentro do gVim (ou vim) trabalhando na unidade de rede.

Tem alguma ideia de como posso manter as permissões de arquivo existentes?

Edit: Esta manhã, enquanto em uma máquina diferente, o problema com o cygwin não ocorreu. Cygwin & gVim foram a mesma versão, no entanto, a outra máquina está executando o WinXP enquanto a máquina o problema está ocorrendo em execuções Win7.

    
por dborba 31.08.2010 / 01:05

2 respostas

1

Tenho certeza de que isso tem a ver com as diferenças em como as permissões são tratadas no Windows e no Unix / Linux. Por padrão, os arquivos criados em um compartilhamento Samba do Windows sempre são criados com permissões 777. Se backupcopy estiver definido como no Vim salvará arquivos criando um novo arquivo em vez de gravar em um existente, isso causaria o que você está vendo.

Então, duas correções possíveis:

  • Defina a opção backupcopy no vim para yes
  • Defina create mask = 0644 (ou qualquer outro) na configuração do Samba para o compartilhamento em questão

Informações sobre permissões de arquivo no Samba

    
por 12.03.2012 / 12:07
0

Sua melhor aposta é que há uma configuração no gVim que abrange as permissões de arquivo salvas. Se não houver uma configuração para isso no gVim, você pode estar sem sorte. No entanto, como esse é possivelmente um bug no Windows gVim, você pode considerar reportá-lo aos desenvolvedores.

    
por 31.08.2010 / 01:20