From 899a5a9882ddb6106dbabf2012c957ea1340ac2a Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 15 Nov 2014 18:16:28 -0500 Subject: [PATCH] Backport 2014-06-30 admin/update_autogen change * admin/update_autogen: Auto-detect VCS in use. (vcs): New variable. (status, commit, main): Handle git. --- admin/ChangeLog | 6 ++++++ admin/update_autogen | 28 ++++++++++++++++++++++------ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index d87cd6bc2a3..72ce74bd629 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,9 @@ +2014-11-15 Glenn Morris + + * update_autogen: Auto-detect VCS in use. + (vcs): New variable. + (status, commit, main): Handle git. + 2014-11-11 Eric S. Raymond * make-tarball.txt, update-copyright, admin/notes/bugtracker, 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" -- 2.11.4.GIT