Consider the following script in foo.sh: ``` #!/usr/bin/env bash set -ex
cd "$1" rm -rf foo mkdir foo cd foo cat > Makefile <<EOF a b c d e EOF cat > diff <<EOF diff --git a/Makefile b/Makefile index 9405325..86d2f8c 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ a b -c +ccc d e EOF patch -p1 -i ./diff ls ``` If I run `./foo.sh /cygdrive/c/`, I get, as expected, ``` + cd /cygdrive/c/ + rm -rf foo + mkdir foo + cd foo + cat + cat + patch -p1 -i ./diff patching file Makefile + ls diff Makefile ``` If I instead run `./foo.sh /cygdrive/h/`, I get ``` + cd /cygdrive/h/ + rm -rf foo + mkdir foo + cd foo + cat + cat + patch -p1 -i ./diff patching file Makefile + ls diff MAKEFILE ``` My C drive is an internal SSD (NTFS), my H drive is an external flash drive (FAT32). I installed cygwin with the commands: ``` powershell -Command "(New-Object Net.WebClient).DownloadFile('http://www.cygwin.com/setup-x86_64.exe', 'setup-x86_64.exe')" SET CYGMIRROR=http://mirror.easyname.at/cygwin SET CYGROOT=H:\cygwin64 SET CYGCACHE=%CYGROOT%\var\cache\setup setup-x86_64.exe -qnNdO -R %CYGROOT% -l %CYGCACHE% -s %CYGMIRROR% -P rsync -P patch -P diffutils -P make -P unzip -P m4 -P findutils -P time -P wget -P curl -P git -P mingw64-x86_64-binutils,mingw64-x86_64-gcc-core,mingw64-x86_64-gcc-g++,mingw64-x86_64-pkg-config,mingw64-x86_64-windows_default_manifest -P mingw64-x86_64-headers,mingw64-x86_64-runtime,mingw64-x86_64-pthreads,mingw64-x86_64-zlib -P python3 ``` Running `patch -v` says `GNU patch 2.7.4`. Note that this happens regardless of whether I install cygwin itself on my external flash drive or on my internal HD. This came up when trying to run `opam install findlib` (which fails when the home directory is on an external USB drive). -Jason -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple