#!/bin/ksh # exportit -- a simple little script to export something from a # git repository and create a "release" tarbal of it, in mostly # automated fasion. Re-written from an earlier CVS version. # Note that people getting this with ttyload will presumably have no # reason to use it in conjunction with ttyload, unless they're forking # their own version. I'd much prefer to get patches or pull requests # (e.g. on GitHub, though from your own git repo is fine, too). # Copyright 2001-2011 by David Lindes, All Rights Reserved. # Distributed under the license described in the file LICENSE that # comes with ttyload. # if you're wanting to use this script for some other project, # and you want to call your release something other than the # name of the directory above this one (.., but by name), change # the "false" below to "true", and the "xyzprod" to whatever you # want to call things. Note that your tagging will have to also # be changed appropriately. if false then # override the name of what to call stuff: name="xyzprod" else # make sure name is unset, so that the ${name:-blah} # expansion below doesn't get stuff from your environment # accidentally unset name fi # automagical settings for things: name="${name:-ttyload}" # this used to be automatic, from CVS info. Skipping that now. version="`cat Version`" tagname="${name}_`echo \"$version\" | sed -e 's/[ \.]/_/g'`" dirname="$name-$version" for item in "$dirname.tar" "$dirname.tar.gz" "$dirname.tar.bz2" do if [ -e "$item" ] then echo "Sorry, $item exists, and I need it not to." >&2 echo "Please remove it or update your Version file to proceed." >&2 exit 1 fi done # let the user know what the settings came up with: echo "Creating export of $name version $version (tag: $tagname)" # export, and if that fails, bail. git archive --prefix=$dirname/ -o $dirname.tar $tagname || exit 1 # then bzip: bzip2 -9fv "$dirname.tar"