diff --git a/Examples.md b/Examples.md index 46324ce..43a6b8b 100644 --- a/Examples.md +++ b/Examples.md @@ -338,24 +338,26 @@ fcs() { # ctrl-b checks the stash out as a branch, for easier merging fstash() { local out q k sha - while out=$( - git stash list --pretty="%C(yellow)%h %>(14)%Cgreen%cr %C(blue)%gs" | - fzf --ansi --no-sort --query="$q" --print-query \ - --expect=ctrl-d,ctrl-b); - do - q=$(head -1 <<< "$out") - k=$(head -2 <<< "$out" | tail -1) - sha=$(tail -1 <<< "$out" | cut -d' ' -f1) - [ -z "$sha" ] && continue - if [ "$k" = 'ctrl-d' ]; then - git diff $sha - elif [ "$k" = 'ctrl-b' ]; then - git stash branch "stash-$sha" $sha - break; - else - git stash show -p $sha - fi - done + while out=$( + git stash list --pretty="%C(yellow)%h %>(14)%Cgreen%cr %C(blue)%gs" | + fzf --ansi --no-sort --query="$q" --print-query \ + --expect=ctrl-d,ctrl-b); + do + mapfile -t out <<< "$out" + q="${out[0]}" + k="${out[1]}" + sha="${out[-1]}" + sha="${sha%% *}" + [[ -z "$sha" ]] && continue + if [[ "$k" = 'ctrl-d' ]]; then + git diff $sha + elif [[ "$k" = 'ctrl-b' ]]; then + git stash branch "stash-$sha" $sha + break; + else + git stash show -p $sha + fi + done } ``` ### Tags