Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Implicitly support the /dev/fd symlink and friends
Bash has a very convenient feature that is called process substitution (e.g. `diff -u <(seq 0 10) <(seq 1 11)`). To make this work, Bash requires the `/dev/fd` symlink to exist, and MSYS2 and Cygwin therefore create this symlink (together with the `stdin`, `stdout` and `stderr` ones) upon start-up. This strategy is a bit incompatible with Git for Windows, which wants to install the pseudo root into a write-protected area, concretely in `C:\Program Files\Git`. This strategy is _also_ incompatible with the idea of providing MinGit as a `.zip` file (because there is no standard way to represent symlinks in `.zip` files, and besides, older Windows versions would potentially lack support for them anyway). Let's side-step this completely by creating those symlinks implicitly, similar to the way `/dev/` is populated with special devices. The diff is misleadlingly large due to the re-generated `devices.cc`. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
- Loading branch information