Files
SAPFOR/dvm/tools/tester/trunk/automation/check-repo.sh

66 lines
2.0 KiB
Bash
Raw Normal View History

2024-05-02 17:08:55 +03:00
#!/bin/sh
unset CDPATH
REPO_URL=http://svn.dvm-system.org/svn/dvmhrepo/dvm
REPO_USER=dvmhuser
REPO_PASS=dvmh2013
PATHS_OF_INTEREST="cdvm/trunk cdvmh-clang/trunk driver/trunk fdvm/trunk general/examples/trunk general/platforms/trunk general/trunk rts/trunk rts-dvmh/trunk tools/pppa/trunk tools/predictor/trunk"
SVN_PARAMS="--username $REPO_USER --password $REPO_PASS --non-interactive"
PREV_REV=`cat latest-seen-revision`
[ "$PREV_REV" -ge 0 ] 2>/dev/null
if [ $? -ne 0 ]; then
PREV_REV=0
fi
NEW_REV=`svn info $SVN_PARAMS $REPO_URL | grep "Revision" | awk '{ print $2 }'`
[ "$NEW_REV" -ge 1 ] 2>/dev/null
if [ $? -ne 0 ]; then
NEW_REV=0
fi
# If latest-seen-revision is corrupted, then inspect only latest revision
if [ $PREV_REV -eq 0 -a $NEW_REV -gt 0 ]; then
PREV_REV=$(( NEW_REV - 1 ))
fi
CUR_REV=$(( PREV_REV + 1 ))
while [ $CUR_REV -le $NEW_REV ]; do
TO_TEST=1
COMMIT_MSG=`svn log $SVN_PARAMS --incremental -c $CUR_REV $REPO_URL | tail -n +4`
IS_INTERMEDIATE=`echo "$COMMIT_MSG" | grep -i "intermediate" | wc -l`
IS_TRIVIAL=`echo "$COMMIT_MSG" | grep -i "trivial" | wc -l`
IS_COSMETICS=`echo "$COMMIT_MSG" | grep -i "cosmetics" | wc -l`
IS_MAJOR=`echo "$COMMIT_MSG" | grep -i "major" | wc -l`
if [ $IS_INTERMEDIATE -ne 0 -o $IS_TRIVIAL -ne 0 -o $IS_COSMETICS -ne 0 ]; then
TO_TEST=0
elif [ $IS_MAJOR -ne 0 ]; then
TO_TEST=2
fi
if [ $TO_TEST -ne 0 -a -n "$PATHS_OF_INTEREST" ]; then
NO_TEST=1
for p in $PATHS_OF_INTEREST; do
WHAT_CHANGED=`svn diff $SVN_PARAMS --summarize -c $CUR_REV $REPO_URL/$p`
if [ -n "$WHAT_CHANGED" ]; then
NO_TEST=0
break
fi
done
if [ $NO_TEST -ne 0 ]; then
TO_TEST=0
fi
fi
if [ $TO_TEST -eq 1 ]; then
echo $CUR_REV >>pending-revisions
elif [ $TO_TEST -eq 2 ]; then
echo $CUR_REV >>pending-revisions-full
fi
CUR_REV=$(( CUR_REV + 1 ))
done
if [ $NEW_REV -gt 0 ]; then
echo $NEW_REV >latest-seen-revision
fi