Home | History | Annotate | Download | only in .private
      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