@@ -259,6 +259,13 @@ __git_ps1_colorize_gitstring ()
259
259
r=" $c_clear$r "
260
260
}
261
261
262
+ eread ()
263
+ {
264
+ f=" $1 "
265
+ shift
266
+ test -r " $f " && read " $@ " < " $f "
267
+ }
268
+
262
269
# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
263
270
# when called from PS1 using command substitution
264
271
# in this mode it prints text to add to bash PS1 prompt (includes branch name)
@@ -321,20 +328,20 @@ __git_ps1 ()
321
328
local step=" "
322
329
local total=" "
323
330
if [ -d " $g /rebase-merge" ]; then
324
- read b 2> /dev/null < " $g /rebase-merge/head-name"
325
- read step 2> /dev/null < " $g /rebase-merge/msgnum"
326
- read total 2> /dev/null < " $g /rebase-merge/end"
331
+ eread " $g /rebase-merge/head-name" b
332
+ eread " $g /rebase-merge/msgnum" step
333
+ eread " $g /rebase-merge/end" total
327
334
if [ -f " $g /rebase-merge/interactive" ]; then
328
335
r=" |REBASE-i"
329
336
else
330
337
r=" |REBASE-m"
331
338
fi
332
339
else
333
340
if [ -d " $g /rebase-apply" ]; then
334
- read step 2> /dev/null < " $g /rebase-apply/next"
335
- read total 2> /dev/null < " $g /rebase-apply/last"
341
+ eread " $g /rebase-apply/next" step
342
+ eread " $g /rebase-apply/last" total
336
343
if [ -f " $g /rebase-apply/rebasing" ]; then
337
- read b 2> /dev/null < " $g /rebase-apply/head-name"
344
+ eread " $g /rebase-apply/head-name" b
338
345
r=" |REBASE"
339
346
elif [ -f " $g /rebase-apply/applying" ]; then
340
347
r=" |AM"
@@ -358,7 +365,7 @@ __git_ps1 ()
358
365
b=" $( git symbolic-ref HEAD 2> /dev/null) "
359
366
else
360
367
local head=" "
361
- if ! read head 2> /dev/null < " $g /HEAD" ; then
368
+ if ! eread " $g /HEAD" head ; then
362
369
if [ $pcmode = yes ]; then
363
370
PS1=" $ps1pc_start$ps1pc_end "
364
371
fi
0 commit comments