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 export PATH=$(p=$(echo $PATH | tr ":" "\n" | grep -v "/cygwin/" | tr "\n" ":"); echo ${p%:})
31 if [ -z "$USERNAME" ]; then
37 # Set up USER's home directory
38 if [ -z "$HOME" -o ! -d "$HOME" ]; then
39 HOME="$HOMEDRIVE$HOMEPATH"
40 if [ -z "$HOME" -o ! -d "$HOME" ]; then
45 if [ ! -d "$HOME" ]; then
46 printf "\n\033[31mERROR: HOME directory '$HOME' doesn't exist!\033[m\n\n"
47 echo "This is an error which might be related to msysGit issue 108."
48 echo "You might want to set the environment variable HOME explicitly."
49 printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
53 # normalize HOME to unix path
54 HOME="$(cd "$HOME" ; pwd)"
56 export PATH="$HOME/bin:$PATH"
58 export GNUPGHOME=~/.gnupg
60 if [ -z "$MAGIC" ]; then
61 magicfile=$(cd / && pwd -W)'/mingw/share/misc/magic.mgc'
62 test -f "$magicfile" && export MAGIC="$magicfile"
65 if [ "x$HISTFILE" == "x/.bash_history" ]; then
66 HISTFILE=$HOME/.bash_history
69 if [ -e ~/.inputrc ]; then
70 export INPUTRC=~/.inputrc
72 export INPUTRC=/etc/inputrc
77 # Our ls may ot handle LS_COLORS inherited in a Wine process
81 export HOME LOGNAME MSYSTEM HISTFILE
83 for i in /etc/profile.d/*.sh ; do
92 test -e /bin/git.exe -o -e /git/git.exe || {
94 echo -------------------------------------------------------
95 echo "Building and Installing Git"
96 echo -------------------------------------------------------
103 MESSAGE="You are in the git working tree, and all is ready for you to hack."
106 MESSAGE="Your build failed... Please fix it, and give feedback on the Git list."
109 test -d /installer-tmp && rm -rf /installer-tmp
114 -------------------------
115 Hello, dear Git developer.
117 This is a minimal MSYS environment to work on Git.
124 # let's make sure that the post-checkout hook is installed
125 test -d /.git && test ! -x /.git/hooks/post-checkout &&
126 test -x /share/msysGit/post-checkout-hook &&
127 mkdir -p /.git/hooks &&
128 cp /share/msysGit/post-checkout-hook /.git/hooks/post-checkout
130 test -f /etc/motd && sed "s/\$MESSAGE/$MESSAGE/" < /etc/motd
131 test -x /share/msysGit/initialize.sh -a ! -d /.git &&
134 It appears that you installed msysGit using the full installer.
135 To set up the Git repositories, please run /share/msysGit/initialize.sh
139 *:/cmd:*|*:/bin:*) ;;
143 In order to use Git from cmd.exe:
144 1. Add c:\msysgit\cmd to cmd's PATH
145 2. DON'T add c:\msysgit\bin or c:\msysgit\mingw\bin to cmd's PATH
146 Commands like 'git add' will work from cmd.exe now.
147 Commands like 'git-add' will NOT work. Add more wrappers as appropriate.
152 . /git/contrib/completion/git-completion.bash
153 [ -r /git/contrib/completion/git-prompt.sh ] && . /git/contrib/completion/git-prompt.sh
155 # non-printable characters must be enclosed inside \[ and \]
156 PS1='\[\033[0m\]' # VT100 compat: reset all colors
157 PS1="$PS1"'\[\033[32m\]' # change color
158 PS1="$PS1"'\u@\h ' # user@host<space>
159 PS1="$PS1"'\[\033[33m\]' # change color
160 PS1="$PS1"'\w' # current working directory
161 if test -z "$WINELOADERNOEXEC"
163 PS1="$PS1"'$(__git_ps1)' # bash function
165 PS1="$PS1"'\[\033[0m\]' # change color
166 PS1="$PS1"'\n' # new line
167 # show MSYSTEM if non-standard
168 if [ "$MSYSTEM" != "MINGW32" ]; then
169 PS1="$PS1"'\[\033[35m\]($MSYSTEM)\[\033[0m\] '
171 PS1="$PS1"'$ ' # prompt: always $
173 # set default options for 'less'
175 export LESSCHARSET=utf-8
177 # set default protocol for 'plink'
178 export PLINK_PROTOCOL=ssh
180 # read user-specific settings, possibly overriding anything above
181 if [ -e ~/.bashrc ]; then
183 elif [ -e ~/.bash_profile ]; then
185 elif [ -e /etc/bash_profile ]; then