[PATCH STABLE] tests: fix test-check-commit.t when all commits are public

Augie Fackler raf at durin42.com
Wed Apr 25 02:49:31 UTC 2018


# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1524624434 14400
#      Tue Apr 24 22:47:14 2018 -0400
# Branch stable
# Node ID b94ee201294ad0d2ee60f6119f7c840f5ec67d3c
# Parent  8c8b6d13949af6233a5ffa3590e9428fc77a3d69
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.

diff --git a/tests/test-check-commit.t b/tests/test-check-commit.t
--- a/tests/test-check-commit.t
+++ b/tests/test-check-commit.t
@@ -8,16 +8,20 @@ Go back in the hg repo
 
   $ 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


More information about the Mercurial-devel mailing list