Я использую cygwin git для управления своим windows источником. И я встречал следующие проблемы как минимум дважды на разных ПК. Так что я думаю, что за странным поведением действительно есть что-то хитрое.
Для сравнения есть две папки проекта с одинаковым исходным кодом. Один управляется cygwin / git, а другой - нет. Когда я пытаюсь очистить / собрать первый проект. Мне не удалось пожаловаться на сбой доступа к файлу / папке.
И когда я использую cygwin для проверки папки, странно, что права доступа пользователя отсутствуют для некоторых новых папок, созданных во время сборки.
ICT-EDA@ICT-EDA:/cygdrive/f/stm32/F103_spi_slave/EWARM/F103_spi_slave(master)]$ls -l
total 0
d---rwx---+ 1 ICT-EDA None 0 May 30 11:16 Exe
d---rwx---+ 1 ICT-EDA None 0 May 30 11:16 List
d---rwx---+ 1 ICT-EDA None 0 May 30 11:16 Obj
Я проверил umask следующим образом:
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$umask
0022
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$ls -l F103_spi_slave/abc F103_spi_slave/EWARM/abc
ls: cannot access 'F103_spi_slave/abc': No such file or directory
ls: cannot access 'F103_spi_slave/EWARM/abc': No such file or directory
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$touch F103_spi_slave/abc F103_spi_slave/EWARM/abc
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$ls -l F103_spi_slave/abc F103_spi_slave/EWARM/abc
-rw-rw-r--+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave/abc
----rw----+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave/EWARM/abc
ICT-EDA@ICT-EDA:/cygdrive/f/stm32]$ls -ld F103_spi_slave F103_spi_slave/EWARM
drwxrwx---+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave
drwxrwx---+ 1 ICT-EDA None 0 May 30 11:54 F103_spi_slave/EWARM
Из приведенного выше журнала вы можете видеть с той же самой umask, два новых созданных файла имеют разные права доступа. Я тоже не вижу различий между двумя папками. git создается в F103_spi_slave /.git. Таким образом, F103_spi_slave / ab c также должен управляться git. Это даже сбивает с толку. Возможно, проблема заключается в windows, а не в git.
В другой папке сборка завершена успешно, так как это не управляется git.