Permalink
Please sign in to comment.
Showing
with
82 additions
and 27 deletions.
- +0 −2 NOEXPORT
- +17 −25 exportit
- +65 −0 exportit_cvs
65
exportit_cvs
@@ -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" |
0 comments on commit
f8928d7