@@ -49,6 +49,9 @@ if [ -z "$ROB_FOLDERS_ACTIVE_ENV" ]; then
49
49
export ROB_FOLDERS_EMPTY_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
50
50
export ROB_FOLDERS_EMPTY_QML_IMPORT_PATH=${QML_IMPORT_PATH}
51
51
export ROB_FOLDERS_EMPTY_PYTHONPATH=${PYTHONPATH}
52
+ export ROB_FOLDERS_EMPTY_AMENT_PREFIX_PATH=${AMENT_PREFIX_PATH}
53
+ export ROB_FOLDERS_EMPTY_COLCON_PREFIX_PATH=${COLCON_PREFIX_PATH}
54
+ export ROB_FOLDERS_EMPTY_PS1=${PS1}
52
55
53
56
if [ ! -z " ${ROB_FOLDERS_EMPTY_CMAKE_PATH} " ] && [ -z $ROB_FOLDERS_IGNORE_CMAKE_PREFIX_PATH ]
54
57
then
@@ -127,6 +130,8 @@ reset_environment()
127
130
export LD_LIBRARY_PATH=${ROB_FOLDERS_EMPTY_LD_LIBRARY_PATH}
128
131
export QML_IMPORT_PATH=${ROB_FOLDERS_EMPTY_QML_IMPORT_PATH}
129
132
export PYTHONPATH=${ROB_FOLDERS_EMPTY_PYTHONPATH}
133
+ export AMENT_PREFIX_PATH=${ROB_FOLDERS_EMPTY_AMENT_PREFIX_PATH}
134
+ export COLCON_PREFIX_PATH=${ROB_FOLDERS_EMPTY_COLCON_PREFIX_PATH}
130
135
}
131
136
132
137
@@ -159,16 +164,19 @@ fzirob()
159
164
160
165
if [ $? -eq 0 ]; then
161
166
if [ $1 = " change_environment" ] && [ " $2 " != " --help" ]; then
167
+ reset_environment
162
168
checkout_dir=$( rob_folders get_checkout_base_dir)
163
169
164
170
if [ -f ${checkout_dir} /.cur_env ]; then
165
171
# Since the python command writes the .cur_env file there is a race condition when
166
172
# running change_environment commands in parallel. Thus it can happen that reading the
167
173
# file returns an empty value. This race condition only occurs on a very high io load
168
174
# and usually this while look should only be entered once.
175
+ ROB_FOLDERS_ACTIVE_ENV=$( cat " ${checkout_dir} " /.cur_env) || true
169
176
while [ -z " $ROB_FOLDERS_ACTIVE_ENV " ]; do
170
- export ROB_FOLDERS_ACTIVE_ENV=$( cat ${checkout_dir} /.cur_env)
177
+ ROB_FOLDERS_ACTIVE_ENV=$( cat " ${checkout_dir} " /.cur_env) || true
171
178
done
179
+ export ROB_FOLDERS_ACTIVE_ENV
172
180
environment_dir=" ${checkout_dir} /${ROB_FOLDERS_ACTIVE_ENV} "
173
181
if [ -f ${environment_dir} /setup.sh ]; then
174
182
source ${environment_dir} /setup.sh
@@ -186,7 +194,7 @@ fzirob()
186
194
if [ -z " ${ROB_FOLDERS_DISABLE_PROMPT_MODIFICATION:- } " ] ; then
187
195
env_prompt=" [${ROB_FOLDERS_ACTIVE_ENV} ]"
188
196
if [ -n " ${PS1##* " $env_prompt " * } " ]; then
189
- PS1=" ${env_prompt} ${PS1 :- } "
197
+ PS1=" ${env_prompt} ${ROB_FOLDERS_EMPTY_PS1 :- } "
190
198
export PS1
191
199
fi
192
200
fi
0 commit comments