aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2014-03-20 23:39:13 -0700
committerGlenn Morris <[email protected]>2014-03-20 23:39:13 -0700
commitffeef15800314d80c469fb34ae9f184d663f1368 (patch)
tree648e09d22139a721e89008d413c772d328733e2a /admin
parent7e1097bd7b13a4b54288426e61e1d7be9694cea5 (diff)
* admin/update_autogen: Auto-detect VCS in use.
(vcs): New variable. (status, commit, main): Handle git.
Diffstat (limited to 'admin')
-rw-r--r--admin/ChangeLog6
-rwxr-xr-xadmin/update_autogen28
2 files changed, 28 insertions, 6 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 24f714eee8..755de78a2e 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,9 @@
+2014-03-21 Glenn Morris <[email protected]>
+
+ * update_autogen: Auto-detect VCS in use.
+ (vcs): New variable.
+ (status, commit, main): Handle git.
+
2014-03-07 Paul Eggert <[email protected]>
Fix oversight preventing lib/sys/types.h from being generated.
diff --git a/admin/update_autogen b/admin/update_autogen
index b9511969a1..d9d34fa3d6 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"