Mercurial > hg
changeset 24749:3ad1571d4852
develwarn: include call site in the simple message version
Just displaying the warning makes it quite hard to recognise the guilty code
quickly and using --traceback for all calls is not very convenient. So we
include the call site with all simple message to help developer to recognise
errors sources.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Sun, 12 Apr 2015 14:27:42 -0400 |
parents | d6caadff4779 |
children | aaf835407bf2 |
files | mercurial/scmutil.py tests/test-devel-warnings.t |
diffstat | 2 files changed, 8 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/scmutil.py Sun Apr 12 14:26:11 2015 -0400 +++ b/mercurial/scmutil.py Sun Apr 12 14:27:42 2015 -0400 @@ -10,7 +10,7 @@ import util, error, osutil, revset, similar, encoding, phases import pathutil import match as matchmod -import os, errno, re, glob, tempfile, shutil, stat +import os, errno, re, glob, tempfile, shutil, stat, inspect if os.name == 'nt': import scmwindows as scmplatform @@ -177,7 +177,9 @@ if tui.tracebackflag: util.debugstacktrace(msg, 2) else: - tui.write_err(msg + '\n') + curframe = inspect.currentframe() + calframe = inspect.getouterframes(curframe, 2) + tui.write_err('%s at: %s:%s (%s)\n' % ((msg,) + calframe[2][1:4])) def filteredhash(repo, maxrev): """build hash of filtered revisions in the current repoview.
--- a/tests/test-devel-warnings.t Sun Apr 12 14:26:11 2015 -0400 +++ b/tests/test-devel-warnings.t Sun Apr 12 14:27:42 2015 -0400 @@ -43,16 +43,16 @@ $ hg init lock-checker $ cd lock-checker $ hg buggylocking - transaction with no lock - "wlock" acquired after "lock" + transaction with no lock at: $TESTTMP/buggylocking.py:11 (buggylocking) + "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:13 (buggylocking) $ cat << EOF >> $HGRCPATH > [devel] > all=0 > check-locks=1 > EOF $ hg buggylocking - transaction with no lock - "wlock" acquired after "lock" + transaction with no lock at: $TESTTMP/buggylocking.py:11 (buggylocking) + "wlock" acquired after "lock" at: $TESTTMP/buggylocking.py:13 (buggylocking) $ hg buggylocking --traceback transaction with no lock at: */hg:* in * (glob)