diff options
| author | Christian Starkjohann <cs+github@obdev.at> | 2012-01-09 00:35:20 +0100 | 
|---|---|---|
| committer | Christian Starkjohann <cs+github@obdev.at> | 2012-01-09 00:35:20 +0100 | 
| commit | 255483bc54573d06b9975f926219cab17d0e3a28 (patch) | |
| tree | e03ded983d0303299e093d4a638f3a65e270cb1d | |
| parent | 5d1ae8c08688fce349dd789e535091672ac59b65 (diff) | |
| download | v-usb-255483bc54573d06b9975f926219cab17d0e3a28.tar.gz v-usb-255483bc54573d06b9975f926219cab17d0e3a28.tar.bz2 v-usb-255483bc54573d06b9975f926219cab17d0e3a28.zip  | |
Changed release script to work with GIT instead of SVN
| -rwxr-xr-x | mkdist.sh | 85 | 
1 files changed, 45 insertions, 40 deletions
@@ -21,6 +21,18 @@ eagle=~/Applications/EAGLE/EAGLE.app/Contents/MacOS/EAGLE  # initial user dialog:  #------------------------------------------------------------------- +changes=$(git status --porcelain --untracked-files=no) +if [ -n "$changes" ]; then +    echo "There are unsaved changes. Please commit them before making a release!" +    exit 1 +fi + +branch="$(git symbolic-ref HEAD)" +if [ "$branch" != master ]; then +    echo "Warning: On branch $branch, not master! Type enter to continue anyway." +    read dummy +fi +  if [ "$1" = public ]; then  	echo "Generating a public (tagged) release"  	isPublic=yes @@ -35,65 +47,54 @@ if [ "$1" = public ]; then  s/^#define USBDRV_VERSION .*\$/#define USBDRV_VERSION  $today/g  p  EOF -    rm usbdrv/usbdrv.h -    mv usbdrv/usbdrv.h.new usbdrv/usbdrv.h +    if cmp --silent usbdrv/usbdrv.h usbdrv/usbdrv.h.new +        rm usbdrv/usbdrv.h.new  #files are equal +    else +        rm usbdrv/usbdrv.h +        mv usbdrv/usbdrv.h.new usbdrv/usbdrv.h +        git add usbdrv/usbdrv.h +        git commit -m "Updated version number to $today" +    fi  else  	echo "For a public release (tagged in subversion) add parameter \"public\""  	isPublic=no  fi  #------------------------------------------------------------------- -# determine version, commit and tag in SVN +# determine version and tag in GIT  #-------------------------------------------------------------------  version=`grep USBDRV_VERSION usbdrv/usbdrv.h | awk '{print $NF}'`  if [ "$isPublic" != yes ]; then  	version="$version"-priv -fi - -if [ "$isPublic" = yes ]; then -( -    currentGcc=`avr-gcc-select | awk '{print $NF}'` -    cd tests -    for i in 3 4; do -        avr-gcc-select $i >/dev/null 2>&1 -        gccvers=`avr-gcc --version | awk '{print $NF; exit}'` -        file=sizes-$version-gcc$gccvers.txt -        make sizes -        mv sizes.txt sizes-reference/$file -        svn add sizes-reference/$file -        svn commit -m "Added sizes file for this version" sizes-reference/$file -    done -    avr-gcc-select $currentGcc -) -fi - -if svn commit; then -	:  else -	echo "svn commit failed, aborting" -	exit 1 -fi - -repository=`svn info | sed -n -e '/^URL:/ s|^URL: \(.*\)/trunk|\1| p'` -if [ "$isPublic" = yes ]; then +    ( +        currentGcc=`avr-gcc-select | awk '{print $NF}'` +        cd tests +        for i in 3 4; do +            avr-gcc-select $i >/dev/null 2>&1 +            gccvers=`avr-gcc --version | awk '{print $NF; exit}'` +            file=sizes-$version-gcc$gccvers.txt +            make sizes +            mv sizes.txt sizes-reference/$file +            git add sizes-reference/$file +        done +        git commit -m "Added sizes files for this version" +        avr-gcc-select $currentGcc +    )  	echo "Tagging $repository as $version" -	svn copy "$repository/trunk" "$repository/tags/$version" -m "tagging as $version" +    git tag "releases/$version"  fi  #------------------------------------------------------------------- -# SVN checkout +# checkout source from repository  #-------------------------------------------------------------------  echo "Creating distribution for $name version $version"  pkgname="$name-$version" -if svn checkout "$repository/trunk" "/tmp/$pkgname"; then -	: -else -	echo "svn checkout failed, aborting" -	exit 1 -fi +mkdir "/tmp/$pkgname" +git archive --format=tar | tar -x -C "/tmp/$pkgname"  cd "/tmp/$pkgname"  #------------------------------------------------------------------- @@ -128,9 +129,8 @@ find . -mindepth 2 -name 'make-files.sh' -execdir ./make-files.sh \;  #-------------------------------------------------------------------  rm -rf examples/drivertest -find . -name '.svn' -prune -exec rm -rf '{}' \; # remove SVN files  find . -name 'make-files.sh' -exec rm '{}' \;   # remove helper scripts -rm -f mkdist.sh make-files.sh +rm -f mkdist.sh make-files.sh make-all.sh  (      cd usbdrv      cp Changelog.txt License.txt CommercialLicense.txt USB-IDs-for-free.txt USB-ID-FAQ.txt .. @@ -140,3 +140,8 @@ echo "Creating /tmp/$pkgname.zip and /tmp/$pkgname.tar.gz"  zip -rq9 "$pkgname.zip" "$pkgname"  tar cfz "$pkgname.tar.gz" "$pkgname"  open /tmp + +echo +echo "***********************************************************************" +echo "Don't forget to push GIT repo to origin!" +echo "***********************************************************************"  | 
