Trabajo en un repositorio de Mercurial que se comprueba en un sistema de archivos Unix como ext3 en algunas máquinas y FAT32 en otras.Configuración del bit de ejecución de Mercurial en Windows
En Subversion, puedo establecer la propiedad svn: executable para controlar si un archivo debe marcarse como ejecutable cuando se desprotege en una plataforma que admite dicho bit. Puedo hacer esto independientemente de la plataforma en la que estoy ejecutando SVN o del sistema de archivos que contiene mi copia de trabajo.
En Mercurial, puedo chmod + x para obtener el mismo efecto si el clon está en un sistema de archivos Unix. Pero, ¿cómo puedo establecer (o eliminar) el bit ejecutable en un archivo en un sistema de archivos FAT?
Intenté utilizar esta técnica al agregar un archivo y no funcionó. Agregué el archivo, creé el parche, revirtí el repositorio, eliminé el archivo, edité el parche que reemplazó 0644 con 0755 e importé el parche. Al tirar de un sistema Unix, el modo sigue siendo 0644. Mercurial 1.9.1. –
La extracción no crea el archivo, la actualización sí lo hace. Después de tirar y hacer un 'hg log --git -p', ¿ves el 100755 en el parche? Cuando actualice ese bit de ejecución, podría deshacerse si umask lo prohíbe, el sistema de archivos está montado sin ejecutar, o algunas otras cosas poco probables. –
Al mirar el registro, muestra el modo 0644, por lo que por alguna razón, no aceptó el modo del parche editado. –