| #!/bin/bash | 
 | # | 
 | # script to create a jgit release | 
 |  | 
 | # uncomment to switch on trace | 
 | #set -x | 
 |  | 
 | # abort if a command hits an error | 
 | set -e | 
 |  | 
 | export basePath=$(cd "$(dirname "$0")"; pwd) | 
 | echo basePath $basePath | 
 |  | 
 | if [ -z $1 ]; then | 
 |     echo " | 
 |     Usage: | 
 |     $ release.sh <release version tag> | 
 |  | 
 |     e.g. release.sh v3.4.0.201405051725-m7 | 
 | " | 
 |     exit | 
 | fi | 
 |  | 
 | # trimmed git status | 
 | export status=$(git status --porcelain) | 
 |  | 
 | if [ ! -z "$status" ]; | 
 | then | 
 |     echo " | 
 |     working tree is dirty -> can't create release | 
 | " | 
 |     exit | 
 | fi | 
 |  | 
 | MSG="JGit $1" | 
 |  | 
 | # tag release | 
 | git tag -s -m "$MSG" $1 | 
 |  | 
 | # update version numbers | 
 | ./tools/version.sh --release | 
 |  | 
 | # commit changed version numbers | 
 | git commit -a -s -m "$MSG" | 
 |  | 
 | # move the tag to the version we release | 
 | git tag -sf -m "$MSG" $1 | 
 |  | 
 | # run the build | 
 | mvn clean install -T 1C | 
 | mvn clean install -f org.eclipse.jgit.packaging/pom.xml |