topic: option to hide topic changesets to plain client
This is the first version of an option that make topic changeset hidden to
client without the extension. It might become the default in the future.
#!/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'])