Mercurial > hg-stable
view tests/blackbox-readonly-dispatch.py @ 47765:184d83ef2e59 stable
tests: demonstrate bug in `hg fix` with incorrectly dirty working copy
If the parent commit needs formatting but the working copy already has
the correct formatting, then the working copy will be reported as
modified even though it's clean (because the size in the dirstate is
incorrect). Because the bug only occurs when the size changes, I
modified the formatter used in the test case to remove repeated
spaces.
Differential Revision: https://phab.mercurial-scm.org/D11208
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 22 Jul 2021 17:12:56 -0700 |
parents | 86e4daa2d54c |
children | 6000f5b25c9b |
line wrap: on
line source
from __future__ import absolute_import import os from mercurial import ( dispatch, extensions, ui as uimod, ) def testdispatch(cmd): """Simple wrapper around dispatch.dispatch() Prints command and result value, but does not handle quoting. """ ui = uimod.ui.load() extensions.populateui(ui) ui.statusnoi18n(b"running: %s\n" % cmd) req = dispatch.request(cmd.split(), ui) result = dispatch.dispatch(req) ui.statusnoi18n(b"result: %r\n" % result) # create file 'foo', add and commit f = open(b'foo', 'wb') f.write(b'foo\n') f.close() testdispatch(b"--debug add foo") testdispatch(b"--debug commit -m commit1 -d 2000-01-01 foo") # append to file 'foo' and commit f = open(b'foo', 'ab') f.write(b'bar\n') f.close() # remove blackbox.log directory (proxy for readonly log file) os.rmdir(b".hg/blackbox.log") # replace it with the real blackbox.log file os.rename(b".hg/blackbox.log-", b".hg/blackbox.log") testdispatch(b"--debug commit -m commit2 -d 2000-01-02 foo") # check 88803a69b24 (fancyopts modified command table) testdispatch(b"--debug log -r 0") testdispatch(b"--debug log -r tip")