52 lines
1.9 KiB
Bash
Executable file
52 lines
1.9 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Sets the nano version according to the number of commits on this branch, as
|
|
# well as the branch offset.
|
|
#
|
|
# To have git run this script on commit, first make sure you change
|
|
# BRANCH_OFFSET to 60000 or higher, then create a "pre-commit" text file in
|
|
# .git/hooks/ with the following content:
|
|
# #!/bin/sh
|
|
# if [ -x .private/pre-commit.sh ]; then
|
|
# source .private/pre-commit.sh
|
|
# fi
|
|
#
|
|
# NOTE: These versioning hooks are intended to be used *INTERNALLY* by the
|
|
# libusb development team and are NOT intended to solve versioning for any
|
|
# derivative branch, such as one you would create for private development.
|
|
#
|
|
# Should you wish to reuse these scripts for your own versioning, in your own
|
|
# private branch, we kindly ask you to first set BRANCH_OFFSET to 60000, or
|
|
# higher, as any offset below below 60000 is *RESERVED* for libusb official
|
|
# usage.
|
|
|
|
################################################################################
|
|
## YOU *MUST* SET THE FOLLOWING TO 60000 OR HIGHER IF YOU REUSE THIS SCRIPT ##
|
|
################################################################################
|
|
BRANCH_OFFSET=10000
|
|
################################################################################
|
|
|
|
if [ -n "$LIBUSB_SKIP_NANO" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$BASH_VERSION" = '' ]; then
|
|
TYPE_CMD="type git >/dev/null 2>&1"
|
|
else
|
|
TYPE_CMD="type -P git &>/dev/null"
|
|
fi
|
|
|
|
eval $TYPE_CMD || { echo "git command not found. Aborting." >&2; exit 1; }
|
|
|
|
NANO=`git log --oneline | wc -l`
|
|
NANO=`expr $NANO + $BRANCH_OFFSET`
|
|
# Amended commits need to have the nano corrected. Current versions of git hooks
|
|
# only allow detection of amending post commit, so we require a .amend file,
|
|
# which will be created post commit with a user warning if none exists when an
|
|
# amend is detected.
|
|
if [ -f .amend ]; then
|
|
NANO=`expr $NANO - 1`
|
|
fi
|
|
echo "setting nano to $NANO"
|
|
echo "#define LIBUSB_NANO $NANO" > libusb/version_nano.h
|
|
git add libusb/version_nano.h
|