all repos — tint2 @ main

fork of the tint2 desktop panel for my custom setup - only minimized windows across all desktops for the taskbar

get_version.sh (raw)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#!/bin/sh

SCRIPT_DIR=$(dirname "$0")
DIRTY=""
VERSION=""

OLD_DIR=$(pwd)
cd ${SCRIPT_DIR}

if [ -d .git ] && git status 1>/dev/null 2>/dev/null
then
    git update-index -q --ignore-submodules --refresh
    # Disallow unstaged changes in the working tree
    if ! git diff-files --quiet --ignore-submodules --
    then
        if [ "$1" = "--strict" ]
        then
            echo >&2 "Error: there are unstaged changes."
            git diff-files --name-status -r --ignore-submodules -- >&2
            exit 1
        else
            DIRTY="-dirty"
        fi
    fi

    # Disallow uncommitted changes in the index
    if ! git diff-index --cached --quiet HEAD --ignore-submodules --
    then
        if [ "$1" = "--strict" ]
        then
            echo >&2 "Error: there are uncommitted changes."
            git diff-index --cached --name-status -r --ignore-submodules HEAD -- >&2
            exit 1
        else
            DIRTY="-dirty"
        fi
    fi
    if git describe 1>/dev/null 2>/dev/null
    then
        VERSION=$(git describe 2>/dev/null)$DIRTY
    elif git log -n 1 1>/dev/null 2>/dev/null
    then
        VERSION=$(head -n 1 "ChangeLog" | cut -d ' ' -f 2)
        if [ "$VERSION" = "master" ]
        then
            PREVIOUS=$(grep '^2' "ChangeLog" | head -n 2 | tail -n 1 | cut -d ' ' -f 2)
            HASH=$(git log -n 1 --pretty=format:%cI.%ct.%h | tr -d ':' | tr -d '-' | tr '.' '-' | sed 's/T[0-9\+]*//g' 2>/dev/null)
            VERSION=$PREVIOUS-next-$HASH
        fi
    fi
fi

if [ -z "$VERSION" ]
then
    VERSION=$(head -n 1 "ChangeLog" | cut -d ' ' -f 2)
    if [ "$VERSION" = "master" ]
    then
        VERSION=$VERSION-$(head -n 1 "ChangeLog" | cut -d ' ' -f 1)
    fi
fi

cd "${OLD_DIR}"

VERSION=$(echo "$VERSION" | sed 's/^v//')

echo '#define VERSION_STRING "'$VERSION'"' > version.h
echo $VERSION