首页 > 解决方案 > cygwin git项目下创建的windows文件夹和文件不可访问

问题描述

我正在使用 cygwin git 来管理我的 windows 源代码。我在不同的 PC 上至少遇到过两次以下问题。所以我认为奇怪的行为背后确实存在一些棘手的问题。

有两个具有相同源代码的项目文件夹用于比较。一个由 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/abc 也应该由 git 管理。甚至令人困惑。也许问题是windows,而不是git。

在另一个文件夹上,构建成功完成,因为它不是由 git 管理的。

标签: windowsgitcygwin

解决方案


推荐阅读