Extract version information from git repositories. Try to find a
corresponding svn version if this is a git-svn clone'ed repo. This prefers svn version information over git in case a working directory has both .svn and .git directories. MFC after: 3 days X-MFC: not stable/8 before 8.0
This commit is contained in:
parent
0e9d96d74e
commit
e652e59b58
@ -89,28 +89,47 @@ i=`${MAKE:-make} -V KERN_IDENT`
|
||||
|
||||
case "$d" in
|
||||
*/sys/*)
|
||||
SRCDIR=${d##*obj}
|
||||
if [ -n "$MACHINE" ]; then
|
||||
SRCDIR=${SRCDIR##/$MACHINE}
|
||||
fi
|
||||
SRCDIR=${SRCDIR%%/sys/*}
|
||||
|
||||
for dir in /bin /usr/bin /usr/local/bin; do
|
||||
if [ -x "${dir}/svnversion" ]; then
|
||||
if [ -d "${SRCDIR}/sys/.svn" -a -x "${dir}/svnversion" ] ; then
|
||||
svnversion=${dir}/svnversion
|
||||
SRCDIR=${d##*obj}
|
||||
if [ -n "$MACHINE" ]; then
|
||||
SRCDIR=${SRCDIR##/$MACHINE}
|
||||
fi
|
||||
SRCDIR=${SRCDIR%%/sys/*}
|
||||
break
|
||||
fi
|
||||
if [ -d "${SRCDIR}/.git" -a -x "${dir}/git" ] ; then
|
||||
git_cmd="${dir}/git --git-dir=${SRCDIR}/.git"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -n "$svnversion" -a -d "${SRCDIR}/sys/.svn" ] ; then
|
||||
if [ -n "$svnversion" ] ; then
|
||||
svn=" r`cd ${SRCDIR}/sys && $svnversion`"
|
||||
fi
|
||||
if [ -n "$git_cmd" ] ; then
|
||||
git=`$git_cmd rev-parse --verify --short HEAD 2>/dev/null`
|
||||
svn=`$git_cmd svn find-rev $git 2>/dev/null`
|
||||
if [ -n "$svn" ] ; then
|
||||
svn=" r${svn}"
|
||||
git="-${git}"
|
||||
else
|
||||
git=" ${git}"
|
||||
fi
|
||||
if $git_cmd --work-tree=${SRCDIR} diff-index \
|
||||
--name-only HEAD | read dummy; then
|
||||
git="${git}-dirty"
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
cat << EOF > vers.c
|
||||
$COPYRIGHT
|
||||
#define SCCSSTR "@(#)${VERSION} #${v}${svn}: ${t}"
|
||||
#define VERSTR "${VERSION} #${v}${svn}: ${t}\\n ${u}@${h}:${d}\\n"
|
||||
#define SCCSSTR "@(#)${VERSION} #${v}${svn}${git}: ${t}"
|
||||
#define VERSTR "${VERSION} #${v}${svn}${git}: ${t}\\n ${u}@${h}:${d}\\n"
|
||||
#define RELSTR "${RELEASE}"
|
||||
|
||||
char sccs[sizeof(SCCSSTR) > 128 ? sizeof(SCCSSTR) : 128] = SCCSSTR;
|
||||
|
Loading…
x
Reference in New Issue
Block a user