Mercurial: Ignorar cambios de permissions / modos (chmod)

¿Hay alguna manera de ignorar los cambios de permiso / modo de file (chmod) para un repository de Mercurial?

Estoy buscando un entorno similar al de Git:

core.filemode -> false 
  • como se describe aquí:

¿Puedo hacer que git diff ignore los cambios de permissions?

Actualización: la respuesta correcta es Ry4an junto con mi segundo comentario a su respuesta.

Mercurial solo rastrea el permiso de ejecución en files y no en un usuario / grupo / de otra forma, solo como un bit, por lo que dependiendo de lo que estés tratando de silenciar es posible que realmente necesites ajustar la umask del usuario que ejecuta la hg update '

Si es el bit de ejecución lo que lo atrapa, entonces creo que la única opción es utilizar un enlace precompromiso como:

 [hooks] pre-commit = find $(hg root) -type f -print0 | xargs -0 chmod ax 

eso, elimina la ejecución de todos los files antes de confirmar.

Para hacer lo mismo solo en files versionados, use hg locate como se señala en el comentario de Ish :

 [hooks] pre-commit = hg locate --print0 | xargs -0 chmod ax 

Sin embargo, tenga en count que esto puede fallar en ciertas circunstancias. Por ejemplo, durante el cambio de nombre (renombrado hg rename ), tanto el file antes del cambio de nombre como el cambio de nombre se registrarán como versiones utilizando hg locate . Por lo tanto, el enlace no podrá chmod el nombre anterior del file y la confirmación fallará como un todo. Esto puede "arreglarse" deshabilitando temporalmente el enlace o llamando /bin/true al final del enlace.