diff --git a/hgext3rd/tweakdefaults.py b/hgext3rd/tweakdefaults.py --- a/hgext3rd/tweakdefaults.py +++ b/hgext3rd/tweakdefaults.py @@ -53,6 +53,13 @@ # output new hashes when nodes get updated showupdated = False + + # Show developers warning for using discouraged features. + # + # For example, 'x:y' in revsets shows revision numbers between x and y, + # both inclusive. Usually, this doesn't correspond to any meaningful + # interpretation of the repo and is therefore, discouraged. + develwarn = True """ from __future__ import absolute_import @@ -126,11 +133,12 @@ options.append( ('d', 'dest', '', _('destination for rebase or update'))) - # anonymous function to pass ui object to _analyzewrapper - def _analyzewrap(orig, x): - return _analyzewrapper(orig, x, ui) + if ui.configbool('tweakdefaults', 'develwarn', True): + # anonymous function to pass ui object to _analyzewrapper + def _analyzewrap(orig, x): + return _analyzewrapper(orig, x, ui) - wrapfunction(revsetlang, '_analyze', _analyzewrap) + wrapfunction(revsetlang, '_analyze', _analyzewrap) try: rebaseext = extensions.find('rebase') # tweakdefaults is already loaded before other extensions diff --git a/tests/test-tweakdefaults.t b/tests/test-tweakdefaults.t --- a/tests/test-tweakdefaults.t +++ b/tests/test-tweakdefaults.t @@ -1,3 +1,4 @@ +#testcases develwarn.true develwarn.false $ . "$TESTDIR/histedit-helpers.sh" $ cat >> $HGRCPATH << EOF @@ -10,6 +11,13 @@ > updatecheck=noconflict > EOF +#if develwarn.false + $ cat >> $HGRCPATH << EOF + > [tweakdefaults] + > develwarn = False + > EOF +#endif + Setup repo $ hg init repo @@ -744,6 +752,7 @@ Test that developer warning is shown whenever ':' is used implicitly or explicitly +#if develwarn.true $ hg log -G -T '{rev} {bookmarks}' -r '0:2' devel-warn: use of ':' is deprecated at: *tweakdefaults.py:* (_analyzewrap) (glob) @@ -753,6 +762,17 @@ | o 0 +#else + $ hg log -G -T '{rev} {bookmarks}' -r '0:2' + o 2 + | + o 1 master + | + o 0 + +#endif + +#if develwarn.true $ hg log -G -T '{rev} {bookmarks}' -r ':2' devel-warn: use of ':' is deprecated at: *tweakdefaults.py:* (_analyzewrap) (glob) @@ -762,6 +782,17 @@ | o 0 +#else + $ hg log -G -T '{rev} {bookmarks}' -r ':2' + o 2 + | + o 1 master + | + o 0 + +#endif + +#if develwarn.true $ hg log -G -T '{rev} {bookmarks}' -r '0:' devel-warn: use of ':' is deprecated at: *tweakdefaults.py:* (_analyzewrap) (glob) @@ -771,6 +802,16 @@ | o 0 +#else + $ hg log -G -T '{rev} {bookmarks}' -r '0:' + o 2 + | + o 1 master + | + o 0 + +#endif + In this testcase warning should not be shown $ hg log -G -T '{rev} {bookmarks}' -r ':' o 2