# HG changeset patch # User Pierre-Yves David # Date 2022-04-05 02:41:09 # Node ID 883be4c74d54452bc7fcdde409a4188ab7c39e37 # Parent 1c233af99316878e44468d5a5617cda275008d57 debuglock: make the command more useful in non-interactive mode The existing prompt mode simply release the lock immediately in non-interactive mode. That is quite useless in the test so now the non-interactive mode simply wait for a signal. Differential Revision: https://phab.mercurial-scm.org/D12616 diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py --- a/mercurial/debugcommands.py +++ b/mercurial/debugcommands.py @@ -2201,7 +2201,19 @@ def debuglocks(ui, repo, **opts): except error.LockHeld: raise error.Abort(_(b'lock is already held')) if len(locks): - ui.promptchoice(_(b"ready to release the lock (y)? $$ &Yes")) + try: + if ui.interactive(): + prompt = _(b"ready to release the lock (y)? $$ &Yes") + ui.promptchoice(prompt) + else: + msg = b"%d locks held, waiting for signal\n" + msg %= len(locks) + ui.status(msg) + while True: # XXX wait for a signal + time.sleep(0.1) + except KeyboardInterrupt: + msg = b"signal-received releasing locks\n" + ui.status(msg) return 0 finally: release(*locks)