bash prompt: use bash builtins to find out rebase state
During an ongoing interactive rebase __git_ps1() finds out the name of the rebased branch, the total number of patches and the number of the current patch by executing a '$(cat .git/rebase-merge/<FILE>)' command substitution for each. That is not quite the most efficient way to read single line single word files, because it imposes the overhead of fork()ing a subshell and fork()+exec()ing 'cat' several times. Use the 'read' bash builtin instead to avoid those overheads. Signed-off-by: SZEDER Gábor <szeder@ira.uka.de>
This commit is contained in:
parent
511ad15904
commit
b91b935f04
@ -325,9 +325,9 @@ __git_ps1 ()
|
|||||||
local step=""
|
local step=""
|
||||||
local total=""
|
local total=""
|
||||||
if [ -d "$g/rebase-merge" ]; then
|
if [ -d "$g/rebase-merge" ]; then
|
||||||
b="$(cat "$g/rebase-merge/head-name" 2>/dev/null)"
|
read b 2>/dev/null <"$g/rebase-merge/head-name"
|
||||||
step=$(cat "$g/rebase-merge/msgnum" 2>/dev/null)
|
read step 2>/dev/null <"$g/rebase-merge/msgnum"
|
||||||
total=$(cat "$g/rebase-merge/end" 2>/dev/null)
|
read total 2>/dev/null <"$g/rebase-merge/end"
|
||||||
if [ -f "$g/rebase-merge/interactive" ]; then
|
if [ -f "$g/rebase-merge/interactive" ]; then
|
||||||
r="|REBASE-i"
|
r="|REBASE-i"
|
||||||
else
|
else
|
||||||
@ -335,10 +335,10 @@ __git_ps1 ()
|
|||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ -d "$g/rebase-apply" ]; then
|
if [ -d "$g/rebase-apply" ]; then
|
||||||
step=$(cat "$g/rebase-apply/next" 2>/dev/null)
|
read step 2>/dev/null <"$g/rebase-apply/next"
|
||||||
total=$(cat "$g/rebase-apply/last" 2>/dev/null)
|
read total 2>/dev/null <"$g/rebase-apply/last"
|
||||||
if [ -f "$g/rebase-apply/rebasing" ]; then
|
if [ -f "$g/rebase-apply/rebasing" ]; then
|
||||||
b="$(cat "$g/rebase-apply/head-name" 2>/dev/null)"
|
read b 2>/dev/null <"$g/rebase-apply/head-name"
|
||||||
r="|REBASE"
|
r="|REBASE"
|
||||||
elif [ -f "$g/rebase-apply/applying" ]; then
|
elif [ -f "$g/rebase-apply/applying" ]; then
|
||||||
r="|AM"
|
r="|AM"
|
||||||
|
Loading…
Reference in New Issue
Block a user