In case we have a git clone from Linux that is accessed via cygwin git
the files executable status will be derived from the file content (shebang)
and won't match the git repo, leading to a initially dirty tree.
This can be worked around by setting "core.filemode=false", but let's try
to match the cygwin permissions with the in-repo permissions so this isn't
needed.
* Avoid continuously appending items to MANPATH and INFOPATH when
sourcing /etc/profile multiple times.
* Check for .bashrc existence in shell manager.
* Improve shell manager to run existing executable files provided as
first argument, instead of opening them with Windows Explorer.
* Add simplified parameter -here to shell starter, making the directory
argument optional and deprecating the -where parameter.
* Add -help parameter to shell starter.
* Warning about required shortcut changes.
When upgrading the filesystem package, user will be notified about the
unified msys2_shell.cmd and asked for updating their shortcuts.
* New warning mechanism for interactive bash sessions.
Applications can now add warnings to the terminal for notifying the
user about possible problems. This is done by adding a file containing
the warning text to one of the following locations:
- /etc/profile.d/NAME.warning
- /mingw32/etc/profile.d/NAME.warning
- /mingw64/etc/profile.d/NAME.warning
These files are processed by /etc/bash.bashrc. Files with the
"warning.once" extension are removed after processing. An
implementation example is provided by next change.
* Add simplified parameter -full-path to msys2_shell.cmd. The old
parameter -use-full-path still works for now but is marked as
deprecated using the above warning mechanism.
* Add file opening support to shell manager.
Both directory and file arguments are now accepted and passed to
Windows Explorer for opening with default application.
* Residual pkgrel updates.
This script can now also be used for executing commands with custom
handling for better MSYS2 integration. The following commands are
currently supported and more can be added:
* Windows Explorer, for proper backslash path conversion.
* Windows command prompt, for properly executing under winpty.
* Programs under /mingw32 and /mingw64, for the same reason.
* New script /etc/msystem providing information associated with the
current MSYSTEM. This is sourced by /etc/profile but can be used by
non-login scripts for getting information such as the current
compiler architecture or mount point.
* New script /usr/bin/shell for switching between shells without
restarting MSYS2. This can be used in interactive sessions but also
from shell scripts for switching the MSYSTEM without restarting bash
or spawning a subshell.
* Allow /etc/profile to be sourced multiple times without continuously
appending stuff to PATH or losing track of the original Windows TEMP.
Also implemented for /etc/profile.d/perlbin.sh, so perl path is not
repeatedly appended.