#!/bin/sh
-# $Id: release_update.sh,v 1.8 2005/03/21 12:56:48 henoheno Exp $
+# $Id: release_update.sh,v 1.12 2005/12/10 08:27:00 henoheno Exp $
# $CVSKNIT_Id: release.sh,v 1.11 2004/05/28 14:26:24 henoheno Exp $
# Release automation script for PukiWiki
# ==========================================================
_name="` basename $0 `"
usage(){
- warn "USAGE: `basename $0` VERSION_FROM VERSION_TO (VERSION = '1.4.3_rc1' like)"
+ warn "USAGE: $_name [options] VERSION_FROM VERSION_TO (VERSION = '1.4.3_rc1' like)"
+ warn " Options:"
+ warn " -p|--patch Create a large patch file"
+ warn " -z|--zip Create *.zip archive"
+ warn " --move-dist Move *.ini.php => *.ini-dist.php"
+ warn " --copy-dist Move, and Copy *.ini.php <= *.ini-dist.php"
return 1
}
'' ) echo 1 ;;
-[hH]|--help ) echo _help _exit ;;
--debug ) echo _debug ;;
+ -p|--patch ) echo _patch ;;
-z|--zip ) echo _zip ;;
- #--copy-dist ) echo _copy_dist ;;
- #--move-dist ) echo _move_dist ;;
+ --copy-dist ) echo _copy_dist ;;
+ --move-dist ) echo _move_dist ;;
-d ) echo _CVSROOT 2 ; _arg="$2" ;;
-* ) warn "Error: Unknown option \"$1\"" ; return 1 ;;
* ) echo OTHER ;;
# -----------------------------------------------------------
+# Creating a PATCH
+test "$__patch" && {
+ file="${mod}-${tag_from}-${tag_to}.diff.gz"
+ test ! -f "$file" || err "There's already a file: $file"
+
+ echo $file
+ echo cvs -z3 -d "$CVSROOT" rdiff -u -r "$tag_from" -r "$tag_to" "$mod"
+ cvs -z3 -d "$CVSROOT" rdiff -u -r "$tag_from" -r "$tag_to" "$mod" | gzip -9 > "$file"
+ exit
+}
+# NOT PATCH
+
+
# Checkout the module with VERSION_FROM
test ! -d "$pkg_dir" || err "There's already a directory: $pkg_dir"
echo cvs -z3 -d "$CVSROOT" co -r "$tag_from" -d "$pkg_dir" "$mod"
cvs -z3 -d "$CVSROOT" co -r "$tag_from" -d "$pkg_dir" "$mod"
test -d "$pkg_dir" || err "There isn't a directory: $pkg_dir"
+
# Merge VERSION_FROM to VERSION_TO
( cd "$pkg_dir"
echo cvs up -dP -j "$tag_from" -j "$tag_to"
find "$pkg_dir" -type d -empty | xargs rmdir
find "$pkg_dir" -type d -empty | xargs rmdir
+# Move / Copy *.ini.php files
+if [ 'x' != "x$__copy_dist$__move_dist" ] ; then
+( cd "$pkg_dir"
+
+ find . -type f -name "*.ini.php" | while read file; do
+ dist_file="` echo "$file" | sed 's/ini\.php$/ini-dist.php/' `"
+ mv -f "$file" "$dist_file"
+ test "$__copy_dist" && cp -f "$dist_file" "$file"
+ done
+)
+fi
+
# chmod
chmod_pkg "$pkg_dir"