diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:06:44 +0000 |
commit | ed5640d8b587fbcfed7dd7967f3de04b37a76f26 (patch) | |
tree | 7a5f7c6c9d02226d7471cb3cc8fbbf631b415303 /bin/git-ps1 | |
parent | Initial commit. (diff) | |
download | libreoffice-upstream.tar.xz libreoffice-upstream.zip |
Adding upstream version 4:7.4.7.upstream/4%7.4.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/git-ps1')
-rwxr-xr-x | bin/git-ps1 | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/bin/git-ps1 b/bin/git-ps1 new file mode 100755 index 000000000..8a0980091 --- /dev/null +++ b/bin/git-ps1 @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +r= +b= +g="$(git rev-parse --git-dir 2>/dev/null)" + +if [ -n "$g" ]; then + if [ -d "$g/../.dotest" ] + then + if test -f "$g/../.dotest/rebasing" + then + r="|REBASE" + elif test -f "$g/../.dotest/applying" + then + r="|AM" + else + r="|AM/REBASE" + fi + b="$(git symbolic-ref HEAD 2>/dev/null)" + elif [ -f "$g/.dotest-merge/interactive" ] + then + r="|REBASE-i" + b="$(cat "$g/.dotest-merge/head-name")" + elif [ -d "$g/.dotest-merge" ] + then + r="|REBASE-m" + b="$(cat "$g/.dotest-merge/head-name")" + elif [ -f "$g/MERGE_HEAD" ] + then + r="|MERGING" + b="$(git symbolic-ref HEAD 2>/dev/null)" + else + if [ -f "$g/BISECT_LOG" ] + then + r="|BISECTING" + fi + if ! b="$(git symbolic-ref HEAD 2>/dev/null)" + then + if ! b="$(git describe --exact-match HEAD 2>/dev/null)" + then + b="$(cut -c1-7 "$g/HEAD")..." + fi + fi + fi + + if [ -n "$1" ]; then + printf "$1" "${b##refs/heads/}$r" + else + printf "%s" "${b##refs/heads/}$r" + fi +else + printf "not-in-git" +fi |