OSDN Git Service

admin: JM-release.sh: Remove -g option (guess) and make it the default behavior
[linuxjm/jm.git] / admin / JM-release.sh
1 #!/bin/sh
2
3 RM=/bin/rm
4 MV=/bin/mv
5 SED=/bin/sed
6
7 usage() {
8     echo "Usage: `basename $0` <draft file> <release directory>"
9     echo "Options:"
10     echo "  -c : Copy mode. By default, sed is used to remove JM comments."
11     echo "  -f : Force Override the existing page"
12     echo "  -v : Verbose mode"
13 }
14
15 COPY=0
16 FORCE=0
17 GUESS=1
18 VERBOSE=0
19 QUIET=0
20
21 while getopts "cfgqv" OPT
22 do
23   case $OPT in
24     "c") COPY=1 ;;
25     "f") FORCE=1 ;;
26     "q") QUIET=1 ;;
27     "v") VERBOSE=1 ;;
28     *)   usage ;;
29   esac
30 done
31
32 shift `expr $OPTIND - 1`
33
34 # FORCE=0
35 # if [ "$1" = "-f" ]; then
36 #   FORCE=1
37 #   shift
38 # fi
39
40 if [ -z "$1" -a -z "$2" ]; then
41   usage
42   exit 1
43 fi
44
45 DRAFT=$1
46 RELDIR=$2
47 MANPAGE=`basename $DRAFT`
48 SECTION_NAME=$(basename $(dirname $DRAFT))
49 RELSECDIR=$RELDIR/$SECTION_NAME
50 RELEASE=$RELSECDIR/$MANPAGE
51
52 if [ ! -f $DRAFT ]; then
53   echo "draft file $DRAFT does not exist!"
54   exit 1
55 fi
56
57 if [ ! -d $RELDIR ]; then
58   echo "release directory $RELDIR does not exist!"
59   exit 1
60 fi
61
62 if [ ! -d $RELSECDIR ]; then
63   mkdir $RELSECDIR
64   echo "Created $RELSECDIR."
65 fi
66
67 if test -f $RELEASE && cmp $DRAFT $RELEASE > /dev/null; then
68   if [ $VERBOSE -eq 1 ]; then
69     echo "Skipped $(basename $DRAFT): draft and release pages are same."
70   fi
71   exit 0
72 fi
73
74 if [ -f $RELEASE -a $FORCE -ne 1 ]; then
75   echo -n "Overwrite $RELEASE (y/N) "
76   read ret
77   if [ "$ret" = "y" -o "$ret" = "Y" ]; then
78     echo "Remove $RELEASE"
79     $RM $RELEASE
80   else
81     echo "Can't overwrite $RELEASE. Aborted"
82     exit 1
83   fi
84 fi
85
86 if [ $COPY -eq 1 ]; then
87   if [ $QUIET -eq 0 ]; then
88     OPT_V=-v
89   fi
90   cp -fp $OPT_V $DRAFT $RELEASE
91 else
92   $SED -e '/^\.\\\"O /d' $DRAFT > $RELEASE
93   if [ $QUIET -eq 0 ]; then
94     echo "$DRAFT -> $RELEASE"
95   fi
96 fi
97
98 #echo "Succeed"