xref: /aosp_15_r20/external/libusb/.private/pre-commit.sh (revision 86b64dcb59b3a0b37502ecd56e119234366a6f7e)
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