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