1 # Copyright (C) 2001, 2002 Earnie Boyd <earnie@users.sf.net>
2 # This file is part of the Minimal SYStem.
3 # http://www.mingw.org/msys.shtml
6 # Description: Shell environment initialization script
7 # Last Revised: 2002.05.04
9 if [ -z "$MSYSTEM" ]; then
13 # My decision to add a . to the PATH and as the first item in the path list
14 # is to mimick the Win32 method of finding executables.
16 # I filter the PATH value setting in order to get ready for self hosting the
17 # MSYS runtime and wanting different paths searched first for files.
18 if [ $MSYSTEM == MINGW32 ]; then
19 export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
21 export PATH=".:/usr/local/bin:/bin:/mingw/bin:$PATH"
24 # strip out cygwin paths from PATH
27 PATH="$(awk -vRS=: -vORS=: '!/cygwin/' <<< "$PATH")"
28 # awk always adds a trailing separator
29 export PATH="${PATH%:}"
34 if test -f /etc/msys-1.0.dll.md5
36 # if check succeeds, let's avoid checking again
37 md5sum --status --check /etc/msys-1.0.dll.md5 &&
38 rm -f /etc/msys-1.0.dll.md5 ||
39 printf "\n\033[31mERROR: Your msys-1.0.dll is out-of-date!\033[m\n\n"
42 if [ -z "$USERNAME" ]; then
48 # Set up USER's home directory
49 if [ -z "$HOME" -o ! -d "$HOME" ]; then
50 HOME="$HOMEDRIVE$HOMEPATH"
51 if [ -z "$HOME" -o ! -d "$HOME" ]; then
56 if [ ! -d "$HOME" ]; then
57 printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n"
58 echo "This is an error which might be related to msysGit issue 108."
59 echo "You might want to set the environment variable HOME explicitly."
60 printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
64 # normalize HOME to unix path
65 HOME="$(cd "$HOME" ; pwd)"
67 export PATH="$HOME/bin:$PATH"
69 export GNUPGHOME=~/.gnupg
71 if [ "x$HISTFILE" == "x/.bash_history" ]; then
72 HISTFILE=$HOME/.bash_history
75 if [ -e ~/.inputrc ]; then
76 export INPUTRC=~/.inputrc
78 export INPUTRC=/etc/inputrc
83 # Our ls may ot handle LS_COLORS inherited in a Wine process
87 export HOME LOGNAME MSYSTEM HISTFILE
89 for i in /etc/profile.d/*.sh ; do
98 test -e /bin/git.exe -o -e /git/git.exe || {
100 echo -------------------------------------------------------
101 echo "Building and Installing Git"
102 echo -------------------------------------------------------
109 MESSAGE="You are in the git working tree, and all is ready for you to hack."
112 MESSAGE="Your build failed... Please fix it, and give feedback on the Git list."
115 test -d /installer-tmp && rm -rf /installer-tmp
120 -------------------------
121 Hello, dear Git developer.
123 This is a minimal MSYS environment to work on Git.
130 # let's make sure that the post-checkout hook is installed
131 test -d /.git && test ! -x /.git/hooks/post-checkout &&
132 test -x /share/msysGit/post-checkout-hook &&
133 mkdir -p /.git/hooks &&
134 cp /share/msysGit/post-checkout-hook /.git/hooks/post-checkout
136 test -f /etc/motd && sed "s/\$MESSAGE/$MESSAGE/" < /etc/motd
137 test -x /share/msysGit/initialize.sh -a ! -d /.git &&
140 It appears that you installed msysGit using the full installer.
141 To set up the Git repositories, please run /share/msysGit/initialize.sh
145 *:/cmd:*|*:/bin:*) ;;
149 In order to use Git from cmd.exe:
150 1. Add c:\msysgit\cmd to cmd's PATH
151 2. DON'T add c:\msysgit\bin or c:\msysgit\mingw\bin to cmd's PATH
152 Commands like 'git add' will work from cmd.exe now.
153 Commands like 'git-add' will NOT work. Add more wrappers as appropriate.
158 . /git/contrib/completion/git-completion.bash
159 if test -z "$WINELOADERNOEXEC"
161 PS1='\[\033]0;$MSYSTEM:\w\007
162 \033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\]
165 PS1='\[\033]0;$MSYSTEM:\w\007
166 \033[32m\]\u@\h \[\033[33m\w\033[0m\]
170 # set default options for 'less'
172 # set default protocol for 'plink'
173 export PLINK_PROTOCOL=ssh
175 # read user-specific settings, possibly overriding anything above
176 if [ -e ~/.bashrc ]; then
178 elif [ -e ~/.bash_profile ]; then
180 elif [ -e /etc/bash_profile ]; then