Changeset View
Changeset View
Standalone View
Standalone View
sys/conf/newvers.sh
Show First 20 Lines • Show All 242 Lines • ▼ Show 20 Lines | if [ -n "$svnversion" ] ; then | ||||
*) | *) | ||||
unset svn | unset svn | ||||
;; | ;; | ||||
esac | esac | ||||
fi | fi | ||||
if [ -n "$git_cmd" ] ; then | if [ -n "$git_cmd" ] ; then | ||||
git=$($git_cmd rev-parse --verify --short HEAD 2>/dev/null) | git=$($git_cmd rev-parse --verify --short HEAD 2>/dev/null) | ||||
gitsvn=$($git_cmd svn find-rev $git 2>/dev/null) | |||||
if [ -n "$gitsvn" ] ; then | |||||
svn=" r${gitsvn}" | |||||
git="=${git}" | |||||
else | |||||
# Log searches are limited to 10k commits to speed up failures. | |||||
# We assume that if a tree is more than 10k commits out-of-sync | |||||
# with FreeBSD, it has forked the the OS and the SVN rev no | |||||
# longer matters. | |||||
gitsvn=$($git_cmd log -n 10000 | | |||||
grep '^ git-svn-id:' | head -1 | \ | |||||
sed -n 's/^.*@\([0-9][0-9]*\).*$/\1/p') | |||||
if [ -z "$gitsvn" ] ; then | |||||
gitsvn=$($git_cmd log -n 10000 --format='format:%N' | \ | |||||
grep '^svn ' | head -1 | \ | |||||
sed -n 's/^.*revision=\([0-9][0-9]*\).*$/\1/p') | |||||
fi | |||||
if [ -n "$gitsvn" ] ; then | |||||
svn=" r${gitsvn}" | |||||
git="+${git}" | |||||
else | |||||
git=" ${git}" | |||||
fi | |||||
fi | |||||
git_cnt=$($git_cmd rev-list --count HEAD 2>/dev/null) | git_cnt=$($git_cmd rev-list --count HEAD 2>/dev/null) | ||||
if [ -n "$git_cnt" ] ; then | if [ -n "$git_cnt" ] ; then | ||||
git="${git}-c${git_cnt}" | git="c${git_cnt}-g${git}" | ||||
fi | fi | ||||
git_b=$($git_cmd rev-parse --abbrev-ref HEAD) | git_b=$($git_cmd rev-parse --abbrev-ref HEAD) | ||||
if [ -n "$git_b" ] ; then | if [ -n "$git_b" ] ; then | ||||
git="${git}(${git_b})" | git="${git_b}-${git}" | ||||
fi | fi | ||||
if git_tree_modified; then | if git_tree_modified; then | ||||
git="${git}-dirty" | git="${git}-dirty" | ||||
modified=yes | modified=yes | ||||
fi | fi | ||||
git=" ${git}" | |||||
fi | fi | ||||
if [ -n "$hg_cmd" ] ; then | if [ -n "$hg_cmd" ] ; then | ||||
hg=$($hg_cmd id 2>/dev/null) | hg=$($hg_cmd id 2>/dev/null) | ||||
hgsvn=$($hg_cmd svn info 2>/dev/null | \ | hgsvn=$($hg_cmd svn info 2>/dev/null | \ | ||||
awk -F': ' '/Revision/ { print $2 }') | awk -F': ' '/Revision/ { print $2 }') | ||||
if [ -n "$hgsvn" ] ; then | if [ -n "$hgsvn" ] ; then | ||||
svn=" r${hgsvn}" | svn=" r${hgsvn}" | ||||
Show All 36 Lines |