diff options
author | rpaulo <rpaulo@FreeBSD.org> | 2013-10-15 05:50:02 +0000 |
---|---|---|
committer | rpaulo <rpaulo@FreeBSD.org> | 2013-10-15 05:50:02 +0000 |
commit | a4847ec804bac43e47f75eb56bd987ea4acee230 (patch) | |
tree | dda670e7782645ebf7c07d5b68557db156cbab62 /sys/conf/newvers.sh | |
parent | 05b8d18a50655c728470817dd704c0185f5b1fba (diff) | |
download | FreeBSD-src-a4847ec804bac43e47f75eb56bd987ea4acee230.zip FreeBSD-src-a4847ec804bac43e47f75eb56bd987ea4acee230.tar.gz |
Add support for Mercurial repositories.
Diffstat (limited to 'sys/conf/newvers.sh')
-rw-r--r-- | sys/conf/newvers.sh | 26 |
1 files changed, 23 insertions, 3 deletions
diff --git a/sys/conf/newvers.sh b/sys/conf/newvers.sh index c03aea9..e4efc0a 100644 --- a/sys/conf/newvers.sh +++ b/sys/conf/newvers.sh @@ -130,6 +130,15 @@ if [ -d "${SYSDIR}/../.git" ] ; then done fi +if [ -d "${SYSDIR}/../.hg" ] ; then + for dir in /usr/bin /usr/local/bin; do + if [ -x "${dir}/hg" ] ; then + hg_cmd="${dir}/hg -R ${SYSDIR}/../.hg" + break + fi + done +fi + if [ -n "$svnversion" ] ; then svn=`cd ${SYSDIR} && $svnversion 2>/dev/null` case "$svn" in @@ -184,12 +193,23 @@ if [ -n "$p4_cmd" ] ; then *) unset p4version ;; esac fi - + +if [ -n "$hg_cmd" ] ; then + hg=`$hg_cmd id 2>/dev/null` + svn=`$hg_cmd svn info 2>/dev/null | \ + awk -F': ' '/Revision/ { print $2 }'` + if [ -n "$svn" ] ; then + svn=" r${svn}" + fi + if [ -n "$hg" ] ; then + hg=" ${hg}" + fi +fi cat << EOF > vers.c $COPYRIGHT -#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}${p4version}: ${t}" -#define VERSTR "${VERSION} #${v}${svn}${git}${p4version}: ${t}\\n ${u}@${h}:${d}\\n" +#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}" +#define VERSTR "${VERSION} #${v}${svn}${git}${hg}${p4version}: ${t}\\n ${u}@${h}:${d}\\n" #define RELSTR "${RELEASE}" char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR; |