mirror of https://github.com/lindes/ttyload.git
re-wrote exportit to use git
This commit is contained in:
parent
5a7c09aa24
commit
f8928d715f
42
exportit
42
exportit
|
@ -1,15 +1,17 @@
|
|||
#!/bin/ksh
|
||||
|
||||
# exportit -- a simple little script to export something from a
|
||||
# CVS repository and create a "release" tarbal of it, in mostly
|
||||
# automated fasion. Could probably stand do more error
|
||||
# checking, but if things are happy, it works. :-) Note that
|
||||
# people getting this with ttyload will have no reason to use it
|
||||
# in conjunction with ttyload.
|
||||
# git repository and create a "release" tarbal of it, in mostly
|
||||
# automated fasion. Re-written from an earlier CVS version.
|
||||
|
||||
# Copyright 2001 by David Lindes, All Rights Reserved.
|
||||
# Distributed under the license described in the file LICENSE
|
||||
# that comes with ttyload.
|
||||
# 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
|
||||
|
@ -30,16 +32,12 @@ else
|
|||
fi
|
||||
|
||||
# automagical settings for things:
|
||||
path="`cat CVS/Repository`"
|
||||
root="`cat CVS/Root`"
|
||||
localroot="${root##*:}"
|
||||
localpath="${path##${localroot}/}"
|
||||
name="${name:-`basename "$path"`}"
|
||||
name="${name:-ttyload}" # this used to be automatic, from CVS info. Skipping that now.
|
||||
version="`cat Version`"
|
||||
cvsvers="${name}_`echo \"$version\" | sed -e 's/[ \.]/_/g'`"
|
||||
tagname="${name}_`echo \"$version\" | sed -e 's/[ \.]/_/g'`"
|
||||
dirname="$name-$version"
|
||||
|
||||
for item in "$dirname" "$dirname.tar" "$dirname.tar.gz"
|
||||
for item in "$dirname.tar" "$dirname.tar.gz" "$dirname.tar.bz2"
|
||||
do
|
||||
if [ -e "$item" ]
|
||||
then
|
||||
|
@ -50,16 +48,10 @@ do
|
|||
done
|
||||
|
||||
# let the user know what the settings came up with:
|
||||
echo "Creating export of $name version $version (CVS: $cvsvers)"
|
||||
echo "Creating export of $name version $version (tag: $tagname)"
|
||||
|
||||
# export, and if that fails, bail.
|
||||
cvs export -d "$dirname" -r "$cvsvers" $localpath || exit 1
|
||||
git archive --prefix=$dirname/ -o $dirname.tar $tagname || exit 1
|
||||
|
||||
for file in `cat NOEXPORT`
|
||||
do
|
||||
(set -x; rm -rf "$dirname"/"$file")
|
||||
done
|
||||
|
||||
# then tar and gzip:
|
||||
tar cvf "$dirname.tar" "$dirname"
|
||||
gzip -9fv "$dirname.tar"
|
||||
# then bzip:
|
||||
bzip2 -9fv "$dirname.tar"
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
#!/bin/ksh
|
||||
|
||||
# exportit -- a simple little script to export something from a
|
||||
# CVS repository and create a "release" tarbal of it, in mostly
|
||||
# automated fasion. Could probably stand do more error
|
||||
# checking, but if things are happy, it works. :-) Note that
|
||||
# people getting this with ttyload will have no reason to use it
|
||||
# in conjunction with ttyload.
|
||||
|
||||
# Copyright 2001 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:
|
||||
path="`cat CVS/Repository`"
|
||||
root="`cat CVS/Root`"
|
||||
localroot="${root##*:}"
|
||||
localpath="${path##${localroot}/}"
|
||||
name="${name:-`basename "$path"`}"
|
||||
version="`cat Version`"
|
||||
cvsvers="${name}_`echo \"$version\" | sed -e 's/[ \.]/_/g'`"
|
||||
dirname="$name-$version"
|
||||
|
||||
for item in "$dirname" "$dirname.tar" "$dirname.tar.gz"
|
||||
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 (CVS: $cvsvers)"
|
||||
|
||||
# export, and if that fails, bail.
|
||||
cvs export -d "$dirname" -r "$cvsvers" $localpath || exit 1
|
||||
|
||||
for file in `cat NOEXPORT`
|
||||
do
|
||||
(set -x; rm -rf "$dirname"/"$file")
|
||||
done
|
||||
|
||||
# then tar and gzip:
|
||||
tar cvf "$dirname.tar" "$dirname"
|
||||
gzip -9fv "$dirname.tar"
|
Loading…
Reference in New Issue