D12616: debuglock: make the command more useful in non-interactive mode
marmoute (Pierre-Yves David)
phabricator at mercurial-scm.org
Fri May 6 08:38:34 UTC 2022
marmoute created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
The existing prompt mode simply release the lock immediately in non-interactive.
That is quite useless in the test so now the non-interactive mode simply wait
for a signal.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D12616
AFFECTED FILES
mercurial/debugcommands.py
CHANGE DETAILS
diff --git a/mercurial/debugcommands.py b/mercurial/debugcommands.py
--- a/mercurial/debugcommands.py
+++ b/mercurial/debugcommands.py
@@ -2185,7 +2185,19 @@
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)
To: marmoute, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
More information about the Mercurial-devel
mailing list