Mercurial > hg
view tests/test-addremove.t @ 42318:313812cbf4ca
copies: fix duplicatecopies() with overlay context
The reasoning for this check is in 78d760aa3607 (duplicatecopies: do
not mark items not in the dirstate as copies, 2013-03-28). The check
was then moved to workingfilectx in 754b5117622f (context: add
workingfilectx.markcopied, 2017-10-15) and no corresponding check was
added later when overlayworkingfilectx was added. Rather than adding
the check there, this patch adds a more generic check on the callers
side and removes the check in workingfilectx.markcopied().
Differential Revision: https://phab.mercurial-scm.org/D6380
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Wed, 09 Jan 2019 15:54:45 -0800 |
parents | 824b687ff6af |
children |
line wrap: on
line source
$ hg init rep $ cd rep $ mkdir dir $ touch foo dir/bar $ hg -v addremove adding dir/bar adding foo $ hg -v commit -m "add 1" committing files: dir/bar foo committing manifest committing changelog committed changeset 0:6f7f953567a2 $ cd dir/ $ touch ../foo_2 bar_2 $ hg -v addremove adding dir/bar_2 adding foo_2 $ hg -v commit -m "add 2" committing files: dir/bar_2 foo_2 committing manifest committing changelog committed changeset 1:e65414bf35c5 $ cd .. $ hg forget foo $ hg -v addremove adding foo $ hg forget foo $ hg -v addremove nonexistent nonexistent: $ENOENT$ [1] $ cd .. $ hg init subdir $ cd subdir $ mkdir dir $ cd dir $ touch a.py $ hg addremove 'glob:*.py' adding a.py $ hg forget a.py $ hg addremove -I 'glob:*.py' adding a.py $ hg forget a.py $ hg addremove adding dir/a.py $ cd .. $ hg init sim $ cd sim $ echo a > a $ echo a >> a $ echo a >> a $ echo c > c $ hg commit -Ama adding a adding c $ mv a b $ rm c $ echo d > d $ hg addremove -n -s 50 # issue 1696 removing a adding b removing c adding d recording removal of a as rename to b (100% similar) $ hg addremove -ns 50 --color debug [ui.addremove.removed ui.status|removing a] [ui.addremove.added ui.status|adding b] [ui.addremove.removed ui.status|removing c] [ui.addremove.added ui.status|adding d] [ ui.status|recording removal of a as rename to b (100% similar)] $ hg addremove -s 50 removing a adding b removing c adding d recording removal of a as rename to b (100% similar) $ hg commit -mb $ cp b c $ hg forget b $ hg addremove -s 50 adding b adding c $ rm c $ hg ci -A -m "c" nonexistent nonexistent: $ENOENT$ abort: failed to mark all new/missing files as added/removed [255] $ hg st ! c $ cd ..