usage ()
{
cat <<EOF
-Usage: $progname <lustretag>
+Usage: $progname <lustretag> <pindate>
where <lustretag> is a tag of the lustre-core module
+ and <pindate> is an optional quoted timestamp suitable for cvs -D
EOF
}
buildtag="HEAD"
lustretag="$1"
shift
+pindate=$1
+shift
if [ "$*" ] ; then
usage >&2
exit 1
fi
-
case "$lustretag" in
'')
warn "a lustretag is required."
exit 0
;;
- b1_4_newconfig*)
- buildtag="b_lnet"
- ;;
+ # this is the branch table
+ # keep this list sorted alphabetically!
+
+ b1_4*) buildtag="b1_4" ;;
+
+ b_release_1_4_6-patchless) buildtag="b1_4" ;;
+ b_release_1_4_7-test) buildtag="b_release_1_4_7" ;;
+ b_release*) buildtag=$lustretag ;;
+
+ # These releases did not get build tagged for them because they
+ # this build system didn't exist when they were tagged
+ v1_2_8|v1_4_0)
+ buildtag="b1_4"
+ ;;
+
v*) buildtag=$lustretag ;;
# this is the branch table
*)
buildtag="HEAD"
;;
-
esac
error_modules=
update=""
if [ "$tag" = "HEAD" ] ; then
- cotag=""
- uptag="-A"
+ cotag=""
+ uptag="-A"
elif [ "$tag" ] ; then
- cotag="-r $tag"
- uptag="-r $tag"
+ cotag="-r $tag"
+ uptag="-r $tag"
+ else
+ # silently skip if no tag was specified
+ return
+ fi
+
+ # create a cvs date format that will survive shell expansion
+ if [ -n "$pindate" ]; then
+ datecmd=$(date -u +%s -d "$pindate")
+ datecmd="-D @$datecmd"
else
- # silently skip if no tag was specified
- return
+ datecmd=""
fi
if [ -d "$dir" ] ; then
- echo "$progname: Updating $dir to $tag"
- ( cd "$dir" && cvs up -dP $uptag )
+ echo "$progname: Updating $dir to $tag"
+ ( cd "$dir" && cvs up $datecmd -dAP $uptag )
else
- echo "$progname: Checking out $dir from $tag"
- cvs co -P $cotag -d "$dir" "$module"
+ echo "$progname: Checking out $dir from $tag"
+ cvs co $datecmd -P $cotag -d "$dir" "$module"
fi
if [ $? != 0 ] ; then
- error_modules="$dir $error_modules"
+ error_modules="$dir $error_modules"
fi
}