web-dev-qa-db-fra.com

Unison peut-il transférer le drapeau exécutable?

Je crée une configuration Unison entre mon ordinateur de travail et mon bureau à la maison. De cette façon, je peux continuer mon travail à la maison (et vice versa), même lorsque j'ai oublié de commettre quelque chose à GIT au travail (et vice versa).

Dans mon profil Unison, j'utilise les propriétés suivantes:

auto          = true
batch         = true
silent        = false
confirmbigdel = false
times         = false
perms         = 0
prefer        = newer
copythreshold = 0
copyprog      = /usr/bin/rsync -avz -X --checksum --partial --append-verify -e ssh
copyprogrest  = /usr/bin/rsync -avz -X --checksum --partial --append-verify -e ssh

Cela fait le travail, sauf pour une petite chose: l'indicateur d'exécutable n'est pas transféré. Lorsque j'applique des modifications sur un fichier .sh au travail, je dois refaire manuellement chmod +x sur mon ordinateur à la maison.

Est-il possible de transférer ce drapeau?

2

Du manuel :

permet n

La valeur entière de cette préférence est un masque indiquant les bits d'autorisation à synchroniser. Il est réglé par défaut sur 0o1777: tous les bits sauf les bits set-uid et set-gid sont synchronisés (la synchronisation de ces derniers bits peut constituer un risque pour la sécurité). Si vous souhaitez synchroniser tous les bits, vous pouvez définir la valeur de cette préférence sur −1. Si l'un des réplicas se trouve sur un système de fichiers FAT [Windows], vous devriez envisager d'utiliser la préférence fat au lieu de cette préférence. Si vous avez besoin qu'Unison ne définisse pas du tout les autorisations, définissez la valeur de cette préférence sur 0 et définissez la préférence t dontchmod sur t true.

  • perms -1 fera ce que vous voulez.
2
Rinzwind