* admin/update_autogen: Auto-detect VCS in use.

(vcs): New variable.
(status, commit, main): Handle git.
This commit is contained in:
Glenn Morris 2014-03-20 23:39:13 -07:00
parent 7e1097bd7b
commit ffeef15800
2 changed files with 28 additions and 6 deletions

View file

@ -1,3 +1,9 @@
2014-03-21 Glenn Morris <rgm@gnu.org>
* update_autogen: Auto-detect VCS in use.
(vcs): New variable.
(status, commit, main): Handle git.
2014-03-07 Paul Eggert <eggert@cs.ucla.edu>
Fix oversight preventing lib/sys/types.h from being generated.

View file

@ -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"