Mercurial > hg
view tests/test-status-inprocess.py @ 45369:5178dd2233d0
rename: add support for --at-rev, which marks as copy and removes the source
I had previously only added support for `--at-rev` to `hg cp`, but not
to `hg mv`. This patch adds that support. Just like for `hg cp`, it
marks the destination as copied from the source, and doesn't care if
the source file still exists (because it only supports the `-A` mode,
aka "don't touch files" mode). It works whether or not the source file
still exists. This matches the behavior of `hg mv -A` in the working
copy.
Differential Revision: https://phab.mercurial-scm.org/D8840
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Tue, 28 Jul 2020 09:58:28 -0700 |
parents | 2372284d9457 |
children | c102b704edb5 |
line wrap: on
line source
#!/usr/bin/env python from __future__ import absolute_import, print_function import sys from mercurial import ( commands, localrepo, ui as uimod, ) print_ = print def print(*args, **kwargs): """print() wrapper that flushes stdout buffers to avoid py3 buffer issues We could also just write directly to sys.stdout.buffer the way the ui object will, but this was easier for porting the test. """ print_(*args, **kwargs) sys.stdout.flush() u = uimod.ui.load() print('% creating repo') repo = localrepo.instance(u, b'.', create=True) f = open('test.py', 'w') try: f.write('foo\n') finally: f.close print('% add and commit') commands.add(u, repo, b'test.py') commands.commit(u, repo, message=b'*') commands.status(u, repo, clean=True) print('% change') f = open('test.py', 'w') try: f.write('bar\n') finally: f.close() # this would return clean instead of changed before the fix commands.status(u, repo, clean=True, modified=True)