File: version_util.sh

package info (click to toggle)
rocminfo 6.4.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 320 kB
  • sloc: cpp: 980; python: 205; sh: 40; makefile: 9
file content (40 lines) | stat: -rwxr-xr-x 836 bytes parent folder | download | duplicates (8)
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
#!/bin/bash

# Handle commandline args
while [ "$1" != "" ]; do
    case $1 in
        -c )  # Commits since prevous tag
            TARGET="count" ;;
         * )
            TARGET="count"
            break ;;
    esac
    shift 1
done
TAG_PREFIX=$1
reg_ex="${TAG_PREFIX}*"

commits_since_last_tag() {
  TAG_ARR=(`git tag --sort=committerdate -l ${reg_ex} | tail -2`)
  PREVIOUS_TAG=${TAG_ARR[0]}
  CURRENT_TAG=${TAG_ARR[1]}

  PREV_CMT_NUM=`git rev-list --count $PREVIOUS_TAG`
  CURR_CMT_NUM=`git rev-list --count $CURRENT_TAG`

  # Commits since prevous tag:
  if [[ -z $PREV_CMT_NUM || -z $CURR_CMT_NUM ]]; then
    let NUM_COMMITS="0"
  else
    let NUM_COMMITS="${CURR_CMT_NUM}-${PREV_CMT_NUM}"
  fi
  echo $NUM_COMMITS
}

case $TARGET in
    count) commits_since_last_tag ;;
    *) die "Invalid target $target" ;;
esac

exit 0