Estou usando o cygwin no Windows 7 professional.
Quando crio novos arquivos, como MyNewFile.java, parece que a permissão padrão é definida como 755. Não é isso que eu quero. Quero que seja 644 para arquivos regulares.
É muito chato ter que alterar as permissões toda vez que crio novos arquivos fora do terminal cygwin (o cp do cygwin terminal funciona bem e apenas mantém as permissões existentes conforme o esperado, criando novos arquivos de dentro do cygwin works).
Como alternativa, existe alguma maneira no git de alterar automaticamente os arquivos * .myextension para sempre ter uma permissão específica?
Caso contrário, existe alguma maneira de recursivamente chmod 644 todos os arquivos * .myextension recursivamente em uma pasta (sem afetar as permissões da pasta!)?
fonte
find ./ …
;find . …
funciona muito bem e, se você tem o hábito de digitarfind ./
o tempo todo, um dia desses você digitaráfind / -exec rm …
(ou, equivalentefind /. …
) por acidente.Respostas:
Você precisa alterar a segurança da pasta no Windows na qual o cygwin está gravando, para que corresponda à sua configuração do cygwin.
Por exemplo, com segurança padrão, recebo:
Depois de alterar a segurança na pasta no Windows, recebo:
Descobri que a entrada de segurança do Windows "Todos" corresponde a "outro" na lista "Grupo de usuários outros" no comando ls. Remova "Read & execute", deixando apenas Read para esse corresponder. A entrada de segurança especial do CREATOR GROUP correspondeu à parte "group" para mim. Quando desativei "Ler e executar" e deixei apenas a opção Leitura ativada, agora toda a lista de diretórios correspondia à segurança do arquivo criado pelo cygwin.
fonte
Não está claro o que você está tentando alcançar aqui, mas se você estiver tentando fazer com que o cygwin git ignore as permissões, faça o seguinte:
$ git config --local core.filemode false
fonte