tests: fix test-check-commit.t when all commits are public
I'm 99% sure this is a portable use of /bin/[, and it seems to fix the
issue I noticed on the buildbot on my machine.
--- a/tests/test-check-commit.t Tue Apr 24 21:29:00 2018 +0900
+++ b/tests/test-check-commit.t Tue Apr 24 22:47:14 2018 -0400
@@ -8,16 +8,20 @@
$ cd $TESTDIR/..
+ $ REVSET='not public() and ::. and not desc("# no-check-commit")'
+
$ mkdir "$TESTTMP/p"
- $ testrepohg export --git -o "$TESTTMP/p/%n-%h" \
- > -r 'not public() and ::. and not desc("# no-check-commit")'
- $ for f in `ls "$TESTTMP/p"`; do
- > contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out"
- > if [ $? -ne 0 ]; then
- > node="${f##*-}"
- > echo "Revision $node does not comply with rules"
- > echo '------------------------------------------------------'
- > cat ${TESTTMP}/check-commit.out
- > echo
- > fi
- > done
+ $ REVS=`testrepohg log -r "$REVSET" -T.`
+ $ if [ -n "$REVS" ] ; then
+ > testrepohg export --git -o "$TESTTMP/p/%n-%h" -r "$REVSET"
+ > for f in `ls "$TESTTMP/p"`; do
+ > contrib/check-commit < "$TESTTMP/p/$f" > "$TESTTMP/check-commit.out"
+ > if [ $? -ne 0 ]; then
+ > node="${f##*-}"
+ > echo "Revision $node does not comply with rules"
+ > echo '------------------------------------------------------'
+ > cat ${TESTTMP}/check-commit.out
+ > echo
+ > fi
+ > done
+ > fi