1*86b64dcbSAndroid Build Coastguard Worker#!/bin/sh 2*86b64dcbSAndroid Build Coastguard Worker# 3*86b64dcbSAndroid Build Coastguard Worker# Sets the nano version according to the number of commits on this branch, as 4*86b64dcbSAndroid Build Coastguard Worker# well as the branch offset. 5*86b64dcbSAndroid Build Coastguard Worker# 6*86b64dcbSAndroid Build Coastguard Worker# To have git run this script on commit, first make sure you change 7*86b64dcbSAndroid Build Coastguard Worker# BRANCH_OFFSET to 60000 or higher, then create a "pre-commit" text file in 8*86b64dcbSAndroid Build Coastguard Worker# .git/hooks/ with the following content: 9*86b64dcbSAndroid Build Coastguard Worker# #!/bin/sh 10*86b64dcbSAndroid Build Coastguard Worker# if [ -x .private/pre-commit.sh ]; then 11*86b64dcbSAndroid Build Coastguard Worker# . .private/pre-commit.sh 12*86b64dcbSAndroid Build Coastguard Worker# fi 13*86b64dcbSAndroid Build Coastguard Worker# 14*86b64dcbSAndroid Build Coastguard Worker# NOTE: These versioning hooks are intended to be used *INTERNALLY* by the 15*86b64dcbSAndroid Build Coastguard Worker# libusb development team and are NOT intended to solve versioning for any 16*86b64dcbSAndroid Build Coastguard Worker# derivative branch, such as one you would create for private development. 17*86b64dcbSAndroid Build Coastguard Worker# 18*86b64dcbSAndroid Build Coastguard Worker# Should you wish to reuse these scripts for your own versioning, in your own 19*86b64dcbSAndroid Build Coastguard Worker# private branch, we kindly ask you to first set BRANCH_OFFSET to 60000, or 20*86b64dcbSAndroid Build Coastguard Worker# higher, as any offset below below 60000 is *RESERVED* for libusb official 21*86b64dcbSAndroid Build Coastguard Worker# usage. 22*86b64dcbSAndroid Build Coastguard Worker 23*86b64dcbSAndroid Build Coastguard Worker################################################################################ 24*86b64dcbSAndroid Build Coastguard Worker## YOU *MUST* SET THE FOLLOWING TO 60000 OR HIGHER IF YOU REUSE THIS SCRIPT ## 25*86b64dcbSAndroid Build Coastguard Worker################################################################################ 26*86b64dcbSAndroid Build Coastguard WorkerBRANCH_OFFSET=10000 27*86b64dcbSAndroid Build Coastguard Worker################################################################################ 28*86b64dcbSAndroid Build Coastguard Worker 29*86b64dcbSAndroid Build Coastguard Workerif [ -n "$LIBUSB_SKIP_NANO" ]; then 30*86b64dcbSAndroid Build Coastguard Worker exit 0 31*86b64dcbSAndroid Build Coastguard Workerfi 32*86b64dcbSAndroid Build Coastguard Worker 33*86b64dcbSAndroid Build Coastguard Workerif [ "$BASH_VERSION" = '' ]; then 34*86b64dcbSAndroid Build Coastguard Worker TYPE_CMD="type git >/dev/null 2>&1" 35*86b64dcbSAndroid Build Coastguard Workerelse 36*86b64dcbSAndroid Build Coastguard Worker TYPE_CMD="type -P git &>/dev/null" 37*86b64dcbSAndroid Build Coastguard Workerfi 38*86b64dcbSAndroid Build Coastguard Worker 39*86b64dcbSAndroid Build Coastguard Workereval $TYPE_CMD || { echo "git command not found. Aborting." >&2; exit 1; } 40*86b64dcbSAndroid Build Coastguard Worker 41*86b64dcbSAndroid Build Coastguard WorkerNANO=`git log --oneline | wc -l` 42*86b64dcbSAndroid Build Coastguard WorkerNANO=`expr $NANO + $BRANCH_OFFSET` 43*86b64dcbSAndroid Build Coastguard Worker# Amended commits need to have the nano corrected. Current versions of git hooks 44*86b64dcbSAndroid Build Coastguard Worker# only allow detection of amending post commit, so we require a .amend file, 45*86b64dcbSAndroid Build Coastguard Worker# which will be created post commit with a user warning if none exists when an 46*86b64dcbSAndroid Build Coastguard Worker# amend is detected. 47*86b64dcbSAndroid Build Coastguard Workerif [ -f .amend ]; then 48*86b64dcbSAndroid Build Coastguard Worker NANO=`expr $NANO - 1` 49*86b64dcbSAndroid Build Coastguard Workerfi 50*86b64dcbSAndroid Build Coastguard Workerecho "setting nano to $NANO" 51*86b64dcbSAndroid Build Coastguard Workerecho "#define LIBUSB_NANO $NANO" > libusb/version_nano.h 52*86b64dcbSAndroid Build Coastguard Workergit add libusb/version_nano.h 53