J'utilise git version 1.5.6.3, et il semble que git ne remarque pas les changements de mode d'un dossier
#create a test repository with a folder with 777 mode
:~$ mkdir -p test/folder
:~$ touch test/folder/dummy.txt
:~$ cd test
:~/test$ chmod 777 folder/
#init git repository
:~/test$ git init
Initialized empty Git repository in ~/test/.git/
:~/test$ git add .
:~/test$ git commit -m 'commit a directory'
Created initial commit 9b6b21a: commit a directory
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 folder/dummy.txt
#change folder permission to 744
:~/test$ chmod 744 folder/
:~/test$ git status
# On branch master
nothing to commit (working directory clean)
Qu'est-ce que 04000
représenter?
:~/test$ git ls-tree HEAD folder
040000 tree 726c1d5f0155771348ea2daee6239791f1cd7731 folder
Est-ce un comportement normal?
Comment suivre les modifications du mode dossier?
Le seul bit "permissions" suivi par git
est le bit exécutable pour les fichiers, les autres bits de mode décrivent le type d'objet du système de fichiers que représente l'objet dans chaque arbre git. git
prend en charge les fichiers et les liens symboliques (blobs), les répertoires (arborescences) et les sous-modules (commits).
git
est conçu pour aider à suivre le code source sur différentes machines. Les bits d'autorisation dépendent des mappages d'utilisateurs et de groupes entre les machines. Dans les environnements distribués où ces mappages n'existent pas, le suivi des bits d'autorisation finit généralement par entraver les choses plutôt que d'aider quoi que ce soit.
Si vous avez besoin de suivre plus d'attributs du système de fichiers que ce que git
suit de manière native, vous pouvez envisager un outil d'extension tel que etckeeper .