summaryrefslogtreecommitdiff
path: root/admin
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-01-13 16:17:18 -0500
committerGlenn Morris <rgm@gnu.org>2014-01-13 16:17:18 -0500
commitd6b738fcf5a98309f93ba1d74a28980111087c05 (patch)
treecae4a9ae0a502f9b998d0b208929c718389febb9 /admin
parent0aa9ec078e7ae5b3c9fdbb0a5e61513bec6aeed2 (diff)
downloademacs-d6b738fcf5a98309f93ba1d74a28980111087c05.tar.gz
* admin/update_autogen (status): New function. Use throughout.
Diffstat (limited to 'admin')
-rw-r--r--admin/ChangeLog4
-rwxr-xr-xadmin/update_autogen85
2 files changed, 36 insertions, 53 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index dc9d4934f04..d1b0b6e14b4 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,7 @@
+2014-01-13 Glenn Morris <rgm@gnu.org>
+
+ * update_autogen (status): New function. Use throughout.
+
2014-01-10 Glenn Morris <rgm@gnu.org>
* update_autogen: Fix sed bug that was losing the last AUTOGEN_VCS.
diff --git a/admin/update_autogen b/admin/update_autogen
index 02b15c3aaa1..b9511969a15 100755
--- a/admin/update_autogen
+++ b/admin/update_autogen
@@ -140,24 +140,36 @@ OPTIND=1
[ "$quiet" ] && exec 1> /dev/null
-echo "Running bzr status..."
+## Run status on inputs, list modified files on stdout.
+status ()
+{
+ bzr status -S "$@" >| $tempfile || die "bzr status error for $@"
-bzr status -S ${autogendir:+$sources} ${ldefs_flag:+lisp} \
- ${info_flag:+doc} >| $tempfile || \
- die "bzr status error for input files"
+ local stat file modified
-## The lisp portion could be more permissive, eg only care about .el files.
-while read stat file; do
+ while read stat file; do
- case $stat in
- M)
- echo "Locally modified: $file"
- [ "$force" ] || die "There are local modifications"
- ;;
+ [ "$stat" != "M" ] && \
+ die "Unexpected status ($stat) for generated $file"
+ modified="$modified $file"
- *) die "Unexpected status ($stat) for $file" ;;
- esac
-done < $tempfile
+ done < $tempfile
+
+ echo "$modified"
+
+ return 0
+} # function status
+
+
+echo "Checking input file status..."
+
+## The lisp portion could be more permissive, eg only care about .el files.
+modified=$(status ${autogendir:+$sources} ${ldefs_flag:+lisp} ${info_flag:+doc}) || die
+
+[ "$modified" ] && {
+ echo "Locally modified: $modified"
+ [ "$force" ] || die "There are local modifications"
+}
## Probably this is overkill, and there's no need to "bootstrap" just
@@ -259,21 +271,11 @@ EOF
done
done
- bzr status -S $outfile >| $tempfile || \
- die "bzr status error for generated $outfile"
-
local modified
- while read stat file; do
+ modified=$(status $outfile) || die
- [ "$stat" != "M" ] && \
- die "Unexpected status ($stat) for generated $file"
-
- modified="$modified $file"
-
- done < $tempfile
-
- commit "info/dir" $modified || die "bzr commit error"
+ commit "info/dir" $modified || die "commit error"
} # function info_dir
@@ -287,23 +289,11 @@ EOF
echo "Checking status of generated files..."
- bzr status -S $basegen >| $tempfile || \
- die "bzr status error for generated files"
-
- modified=
-
- while read stat file; do
-
- [ "$stat" != "M" ] && \
- die "Unexpected status ($stat) for generated $file"
-
- modified="$modified $file"
-
- done < $tempfile
+ modified=$(status $basegen) || die
cd $oldpwd
- commit "generated" $modified || die "bzr commit error"
+ commit "generated" $modified || die "commit error"
exit 0
} # $autogendir
@@ -371,24 +361,13 @@ echo "Checking status of loaddef files..."
## It probably would be fine to just check+commit lisp/, since
## making autoloads should not effect any other files. But better
## safe than sorry.
-bzr status -S $genfiles ${ldefs_out#lisp/} >| $tempfile || \
- die "bzr status error for generated files"
-
-
-modified=
-
-while read stat file; do
-
- [ "$stat" != "M" ] && die "Unexpected status ($stat) for generated $file"
- modified="$modified $file"
-
-done < $tempfile
+modified=$(status $genfiles ${ldefs_out#lisp/}) || die
cd ../
-commit "loaddefs" $modified || die "bzr commit error"
+commit "loaddefs" $modified || die "commit error"
exit 0