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 if [ -z "$USERNAME" ]; then
30 # Set up USER's home directory
31 if [ -z "$HOME" ]; then
35 if [ ! -d "$HOME" ]; then
36 printf "\n\033[31mERROR: HOME directory '$HOME' doen't exist!\033[m\n\n"
37 echo "This is an error which might be related to msysGit issue 108."
38 echo "You might want to set the environment variable HOME explicitely."
39 printf "\nFalling back to \033[31m/ ($(cd / && pwd -W))\033[m.\n\n"
43 # normalize HOME to unix path
44 HOME="$(cd "$HOME" ; pwd)"
46 export PATH="$HOME/bin:$PATH"
48 export GNUPGHOME=~/.gnupg
50 if [ "x$HISTFILE" == "x/.bash_history" ]; then
51 HISTFILE=$HOME/.bash_history
54 if [ -e ~/.inputrc ]; then
55 export INPUTRC=~/.inputrc
57 export INPUTRC=/etc/inputrc
60 export HOME LOGNAME MSYSTEM HISTFILE
62 for i in /etc/profile.d/*.sh ; do
70 if [ -e ~/.bashrc ]; then
72 elif [ -e ~/.bash_profile ]; then
74 elif [ -e /etc/bash_profile ]; then
79 test -e /bin/git.exe -o -e /git/git.exe || {
81 echo -------------------------------------------------------
82 echo "Building and Installing Git"
83 echo -------------------------------------------------------
90 MESSAGE="You are in the git working tree, and all is ready for you to hack."
93 MESSAGE="Your build failed... Please fix it, and give feedback on the Git list."
96 test -d /installer-tmp && rm -rf /installer-tmp
101 -------------------------
102 Hello, dear Git developer.
104 This is a minimal MSYS environment to work on Git.
110 # when called from "Git Bash Here", there is a "!C:=..." or similar in env
111 if ! env | grep -q '^!'
116 # let's make sure that the post-checkout hook is installed
117 test -d /.git && test ! -x /.git/hooks/post-checkout &&
118 test -x /share/msysGit/post-checkout-hook &&
119 mkdir -p /.git/hooks &&
120 cp /share/msysGit/post-checkout-hook /.git/hooks/post-checkout
122 test -f /etc/motd && sed "s/\$MESSAGE/$MESSAGE/" < /etc/motd
125 *:/cmd:*|*:/bin:*) ;;
129 In order to use Git from cmd.exe:
130 1. Add c:\msysgit\cmd to cmd's PATH
131 2. DON'T add c:\msysgit\bin or c:\msysgit\mingw\bin to cmd's PATH
132 Commands like 'git add' will work from cmd.exe now.
133 Commands like 'git-add' will NOT work. Add more wrappers as appropriate.
138 . /git/contrib/completion/git-completion.bash
139 PS1='\[\033]0;$MSYSTEM:\w\007
140 \033[32m\]\u@\h \[\033[33m\w$(__git_ps1)\033[0m\]
143 # set default options for 'less'
145 # set default protocol for 'plink'
146 export PLINK_PROTOCOL=ssh