contrib/hammerclient.py
author Martin von Zweigbergk <martinvonz@google.com>
Thu, 07 May 2020 07:57:14 -0700
changeset 5344 142827ad86f3
parent 4809 f97379faefa3
permissions -rwxr-xr-x
evolve: mark new hash-salting extras keys as uninteresting for effect flag The user doesn't care if the `evolve_source_local`/`evolve_source_other` values in the extras changed, so this patch adds them to the blacklist that already exists for that purpose. This should also fix the flakiness we've seen in some tests. The flakiness seemed to stem from `mercurial.obsutil.geteffectflag()` not sorting extras keys. That means we ran into it relatively often for the `evolve_source_local`/`evolve_source_other` keys because there were two of them. That sorting bug should be fixed upstream.

#!/usr/bin/env python
import os
import sys
import subprocess

if len(sys.argv) < 2:
    execname = os.path.basename(sys.argv[0])
    sys.stderr.write("usage: %s CLIENT_ID\n" % execname)

client_id = sys.argv[1]

subprocess.check_call(['hg', 'branch', "--force", "hammer-branch-%s" % client_id])

while True:
    subprocess.check_call([
        'hg', 'commit',
        "--config", "ui.allowemptycommit=yes",
        "--message", "hammer-%s" % client_id,
    ])
    nodeid = subprocess.check_output([
        'hg', 'log', '--rev', '.', '--template', '{node}'
    ])
    subprocess.check_call([
        'hg', 'debugobsolete', ''.join(reversed(nodeid)), nodeid
    ])
    subprocess.check_call(['hg', 'pull'])
    subprocess.check_call(['hg', 'push', '--force'])