tests/test-check-commit.t
author Pulkit Goyal <7895pulkit@gmail.com>
Wed, 21 Jun 2017 07:32:11 +0530
changeset 2649 cf930521f14d
parent 2335 f7ce3b9167d6
child 2672 a08bd434a19b
permissions -rw-r--r--
topics: add some noise to rewrittent changeset to prevent hash cycle If we have a changeset with topic `x`, we change it's topic to `y`, fine. When we change it's topic back again to `x`, we get the hash of the the obsoleted changeset which had the topic `x` initially. The same happens for few more cases like clearing the topic of a changeset which initially had no topic. This approach is influenced from cmdutil.amend and other commands (rebase, histedit, etc…)

#require test-repo

Enable obsolescence to avoid the warning issue when obsmarker are found

  $ cat << EOF >> $HGRCPATH
  > [experimental]
  > evolution=all
  > EOF

Go back in the hg repo

  $ cd $TESTDIR/..

  $ for node in `hg log --rev 'not public() and ::. and not desc("# no-check-commit")' --template '{node|short}\n'`; do
  >    hg export $node | ${RUNTESTDIR}/../contrib/check-commit > ${TESTTMP}/check-commit.out
  >    if [ $? -ne 0 ]; then
  >        echo "Revision $node does not comply with rules"
  >        echo '------------------------------------------------------'
  >        cat ${TESTTMP}/check-commit.out
  >        echo
  >   fi
  > done