При выполнении его в интерактивном режиме (по сравнению с из сценария), просто сделайте hg commit
без флага-m. Я не уверен, что поведение находится на Linux или Mac, но в Windows это открывается Блокнот с файлом, который Вы заполняете и сохраняете для многострочного сообщения.
settrace() is really only intended for implementing debuggers. If you are using it to debug this program, you may be better off using PDB
According to the documentation, settrace() will not do what you want.
If you really want to do this line by line tracing, have a look at the compiler package which allows you to access and modify the AST Abstract Syntax Tree produced by the Python compiler. You should be able to use that to insert calls to a function which tracks the execution.
Я использую только одну простую синтаксическую строку, чтобы управлять ими всеми:
import pdb; pdb.set_trace()
Поместите ее туда, где вы хотите прервать выполнение и начать отладку. Используйте команды pdb (n для следующего, l для списка и т. Д.).
Cheers,
H.