Mercurial > public > mercurial-scm > hg-stable
view tests/test-duplicateoptions.py @ 50174:eedbf8256263
dirstate: use `cachestat` object for dirstatemap identity
There is a class dedicated to this kind of cache check, let us use it.
We will generalize this code in the next changesets, but we do the "behavior
changing" pass on our own.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Wed, 22 Feb 2023 00:53:51 +0100 |
parents | 6000f5b25c9b |
children | e6069f84abbb |
line wrap: on
line source
import os from mercurial import ( commands, extensions, ui as uimod, ) ignore = {b'highlight', b'win32text', b'factotum', b'beautifygraph'} try: import sqlite3 del sqlite3 # unused, just checking that import works except ImportError: ignore.add(b'sqlitestore') if os.name != 'nt': ignore.add(b'win32mbcs') disabled = [ext for ext in extensions.disabled().keys() if ext not in ignore] hgrc = open(os.environ["HGRCPATH"], 'wb') hgrc.write(b'[extensions]\n') for ext in disabled: hgrc.write(ext + b'=\n') hgrc.close() u = uimod.ui.load() extensions.loadall(u) extensions.populateui(u) globalshort = set() globallong = set() for option in commands.globalopts: option[0] and globalshort.add(option[0]) option[1] and globallong.add(option[1]) for cmd, entry in commands.table.items(): seenshort = globalshort.copy() seenlong = globallong.copy() for option in entry[1]: if (option[0] and option[0] in seenshort) or ( option[1] and option[1] in seenlong ): print("command '" + cmd + "' has duplicate option " + str(option)) seenshort.add(option[0]) seenlong.add(option[1])