summaryrefslogtreecommitdiff
path: root/admin/update_autogen
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-11-15 18:16:28 -0500
committerGlenn Morris <rgm@gnu.org>2014-11-15 18:16:28 -0500
commit899a5a9882ddb6106dbabf2012c957ea1340ac2a (patch)
tree5a0ca3459dadf087c305505f580b7e2460020a12 /admin/update_autogen
parent92f58578cc939e0d955437fcbc87cda80c2ba05c (diff)
downloademacs-899a5a9882ddb6106dbabf2012c957ea1340ac2a.tar.gz
Backport 2014-06-30 admin/update_autogen change
* admin/update_autogen: Auto-detect VCS in use. (vcs): New variable. (status, commit, main): Handle git.
Diffstat (limited to 'admin/update_autogen')
-rwxr-xr-xadmin/update_autogen28
1 files changed, 22 insertions, 6 deletions
diff --git a/admin/update_autogen b/admin/update_autogen
index b9511969a15..d9d34fa3d6e 100755
--- a/admin/update_autogen
+++ b/admin/update_autogen
@@ -47,6 +47,14 @@ cd $PD
cd ../
[ -d admin ] || die "Could not locate admin directory"
+if [ -d .bzr ]; then
+ vcs=bzr
+elif [ -d .git ]; then
+ vcs=git
+else
+ die "Cannot determine vcs"
+fi
+
usage ()
{
@@ -143,7 +151,10 @@ OPTIND=1
## Run status on inputs, list modified files on stdout.
status ()
{
- bzr status -S "$@" >| $tempfile || die "bzr status error for $@"
+ local statflag="-S"
+ [ "$vcs" = "git" ] && statflag="-s"
+
+ $vcs status $statflag "$@" >| $tempfile || die "$vcs status error for $@"
local stat file modified
@@ -217,8 +228,11 @@ commit ()
echo "Committing..."
- ## bzr status output is always relative to top-level, not PWD.
- bzr commit -m "Auto-commit of $type files." "$@" || return $?
+ $vcs commit -m "Auto-commit of $type files." "$@" || return $?
+
+ [ "$vcs" = "git" ] && {
+ $vcs push || return $?
+ }
echo "Committed files: $@"
} # function commit
@@ -257,7 +271,7 @@ EOF
*-xtra.texi|*efaq-w32.texi) continue ;;
esac
- dircat=`sed -n -e 's/@value{emacsname}/Emacs/' -e 's/^@dircategory //p' $file`
+ dircat=$(sed -n -e 's/@value{emacsname}/Emacs/' -e 's/^@dircategory //p' $file)
## TODO warn about unknown topics (check-info in top-level
## Makefile does this).
@@ -291,7 +305,8 @@ EOF
modified=$(status $basegen) || die
- cd $oldpwd
+ ## bzr status output is always relative to top-level, not PWD.
+ [ "$vcs" = "bzr" ] && cd $oldpwd
commit "generated" $modified || die "commit error"
@@ -364,7 +379,8 @@ echo "Checking status of loaddef files..."
modified=$(status $genfiles ${ldefs_out#lisp/}) || die
-cd ../
+## bzr status output is always relative to top-level, not PWD.
+[ "$vcs" = "bzr" ] && cd ../
commit "loaddefs" $modified || die "commit error"