Avant de commencer, je dois dire que j'ai déjà regardé ce post et celui-ci aussi, mais pour une raison quelconque, les solutions fournies ne fonctionnent pas pour moi. Mon référentiel est sous ~/sources
, donc chaque commande a été exécutée à partir de ce chemin. Voici ce que j'ai fait:
Changez le filemode en faux:
$ git config --global core.filemode false
Vérifier la configuration globale:
$ git config --list
...
core.filemode=false
core.repositoryformatversion=0
core.bare=false
core.logallrefupdates=true
...
Réinitialiser le référentiel:
$ git init
Reinitialized existing Git repository in /home/rperez/sources/.git/
Vérifiez ce qui doit être ajouté | engagé:
$ git status
Et je reçois une liste contenant tous les fichiers du référentiel.
J'utilise:
$ git --version
git version 2.9.3
UPDATE: ajout du git diff pour deux fichiers différents
$ git status
...
modified: testing/test-valid-swasset-update.php
...
Untracked files:
(use "git add <file>..." to include in what will be committed)
library/mpdf60/ttfontdata/dejavusanscondensedI.GDEFdata.php
...
git diff
sortie des fichiers ci-dessus:
$ git diff testing/test-valid-swasset-update.php
diff --git a/testing/test-valid-swasset-update.php b/testing/test-valid-swasset-update.php
old mode 100755
new mode 100644
Qu'est-ce qui me manque ici?
La sortie diff dans la question indique que la configuration local git a filemode
défini sur true. C'est probablement le comportement attendu puisque la configuration par défaut créée pour un référentiel définit ceci:
-> git init
Initialized empty Git repository in /tmp/foo/.git/
-> cat .git/config
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
Changer la configuration globale pour filemode
n'affecte pas cela, donc git config --global core.filemode false
ne fait rien parce que cela est toujours remplacé localement.
Par conséquent, pour changer le mode de fichier pour ce référentiel, changez la configuration locale:
$ git config core.filemode false
$ git config core.filemode
false
Étant donné cette question/réponse il y a une possibilité que cela soit supposé fonctionner, bien que ce ne soit pas le cas pour moi.
Vous pouvez vérifier quel est le réglage local avec ceci: Git config --local --list
... et définissez une valeur locale comme celle-ci:
git config --local core.filemode false