From: Glenn Morris Date: Fri, 21 Mar 2014 06:39:13 +0000 (-0700) Subject: * admin/update_autogen: Auto-detect VCS in use. X-Git-Tag: emacs-25.0.90~2640^2~344^2~26^2~10 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ffeef15800314d80c469fb34ae9f184d663f1368;p=emacs.git * admin/update_autogen: Auto-detect VCS in use. (vcs): New variable. (status, commit, main): Handle git. --- diff --git a/admin/ChangeLog b/admin/ChangeLog index 24f714eee8f..755de78a2e6 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,9 @@ +2014-03-21 Glenn Morris + + * update_autogen: Auto-detect VCS in use. + (vcs): New variable. + (status, commit, main): Handle git. + 2014-03-07 Paul Eggert Fix oversight preventing lib/sys/types.h from being generated. 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"