Estoy usando cygwin en Windows 7 profesional.
Cuando creo nuevos archivos como MyNewFile.java, parece que el permiso predeterminado se establece en 755. Esto no es lo que quiero. Quiero que sea 644 para archivos normales.
Es muy molesto tener que cambiar los permisos cada vez que creo nuevos archivos fuera del terminal cygwin (cp desde el terminal cygwin funciona bien y solo mantiene los permisos existentes como se esperaba, incluso creando nuevos archivos desde dentro de cygwin funciona).
Alternativamente, ¿hay alguna forma en git para cambiar automáticamente los archivos * .myextension para tener siempre un permiso específico?
Si no es así, ¿hay alguna forma de utilizar recursivamente chmod 644 todos los archivos * .myextension de forma recursiva en una carpeta (sin afectar los permisos de la carpeta)?
fuente
find ./ …
;find . …
funciona bien, y si tiene la costumbre de escribirfind ./
todo el tiempo, uno de estos días va a escribirfind / -exec rm …
(o, equivalentementefind /. …
) por accidente.Respuestas:
Debe cambiar la seguridad de la carpeta dentro de Windows en la que cygwin está escribiendo para que coincida con su configuración de cygwin.
Por ejemplo, con la seguridad predeterminada, obtengo:
Después de cambiar la seguridad de la carpeta en Windows, obtengo:
He encontrado que la entrada de seguridad de Windows "Todos" coincide con "otros" en el listado "grupo de usuarios otro" en el comando ls. Elimine "Leer y ejecutar", dejando solo Leer para que coincida. La entrada de seguridad especial de CREATOR GROUP coincidía con la parte de "grupo" para mí. Cuando deshabilité "Leer y ejecutar" y dejé solo Leer habilitado, toda la lista de directorios ahora coincidía con la seguridad del archivo creado por cygwin.
fuente
No está claro qué está tratando de lograr aquí, pero si está tratando de hacer que su cygwin git ignore los permisos, haga esto:
$ git config --local core.filemode false
fuente