##
## Modifying a running shell script can have unpredictable results,
## so the paranoid will first make a copy of this script, and then run
-## it with the -d option to point to the repository directory, in case
-## a pull updates this script while it is working.
+## it with the -d option in the repository directory, in case a pull
+## updates this script while it is working.
die () # write error to stderr and exit
{
usage ()
{
cat 1>&2 <<EOF
-Usage: ${PN} [-b] [-d dir] [-e emacs] [-n nmin] [-p] [-r] [-t] [-- mflags]
+Usage: ${PN} [-b] [-d] [-e emacs] [-n nmin] [-p] [-r] [-t] [-- mflags]
Merge the Emacs release branch to master.
Passes any non-option args to make (eg -- -j2).
Options:
--d: directory to work in (default is parent directory of this script)
+-d: no initial cd to parent of script directory
-e: Emacs executable to use for the initial merge (default $emacs)
-n: minimum number of commits to try merging (default $nmin)
-b: try to build after merging
push=
quiet=
reset=
-dir=
+nocd=
-while getopts ":hbd:e:n:pqrt" option ; do
+while getopts ":hbde:n:pqrt" option ; do
case $option in
(h) usage ;;
(b) build=1 ;;
- (d) dir=$OPTARG ;;
+ (d) nocd=1 ;;
(e) emacs=$OPTARG ;;
OPTIND=1
-if [ "$dir" ]; then
- cd "$dir" || die
-else
+[ "$nocd" ] || {
cd $PD # this should be the admin directory
cd ../
-fi
+}
[ -d admin ] || die "Could not locate admin directory"