view tests/test-check-tag.t @ 5954:fb90474ec53f

evolve: wrap the more modern wireprotov1server._capabilities() This function is recommended for wrapping instead of capabilities(). It also needs less code from extensions, as this patch demonstrates. The function exists since 982f13bef503, which is 2014, so we can rely on this function to be present in any modern Mercurial.
author Anton Shestakov <av6@dwimlabs.net>
date Sat, 05 Jun 2021 00:34:53 +0800
parents 479f76c47295
children 279c01842eca
line wrap: on
line source

#require test-repo

Enable obsolescence to avoid the warning issue when obsmarkers are found

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

  $ cd "$TESTDIR"/..

Checking all non-public tagged revisions up to the current commit, see our
release checklist for more ideas

  $ for node in `hg log --rev 'tag() and ::. and not public() and not desc("# no-check-commit")' --template '{node|short}\n'`; do
  >   tags=`hg log --rev $node --template '{tags}\n'`
  >   if echo "$tags" | grep -q ' '; then
  >     echo "Revision $node is tagged multiple times: $tags"
  >   fi
  >   branch=`hg log --rev $node --template '{branch}\n'`
  >   if [ "$branch" != "stable" ]; then
  >     echo "Revision $node is not on stable branch: $branch"
  >   fi
  >   # Here we skip:
  >   # - pullbundle because it usually has no changes (so no version bump)
  >   # - serverminitopic because it's not actively maintained
  >   if hg grep --rev $node '^__version__ = .*\.dev' hgext3rd/evolve/ hgext3rd/topic/; then
  >     echo "Versions should not end with .dev at tagged revision $node"
  >   fi
  >   entry=`hg cat --rev $node CHANGELOG | fgrep "$tags"`
  >   if [ -z "$entry" ]; then
  >     echo "Revision $node has no CHANGELOG entry for $tags"
  >   fi
  >   if echo "$entry" | egrep -vq ' -- [0-9]{4}-[0-9]{2}-[0-9]{2}'; then
  >     echo "CHANGELOG entry for $tags should have a date in YYYY-MM-DD format: $entry"
  >   fi
  >   entry=`hg cat --rev $node debian/changelog | fgrep "$tags"`
  >   if [ -z "$entry" ]; then
  >     echo "Revision $node has no debian/changelog entry for $tags"
  >   fi
  > done