[issue1666] 'not in dirstate' complaints on certain cross-branch updates with existing copies of removed files

Richard Lowe mercurial-bugs at selenic.com
Mon May 18 00:53:53 CDT 2009


New submission from Richard Lowe <richlowe at richlowe.net>:

Apologies for the poor synopsis, it's proving difficult to describe
this tersely

If you have two branches, both of which have removed a file, and you
update -C to the "other" branch, while a file of the same name exists
(untracked) in the working copy, Mercurial will complain "not in
dirstate: <filename>" and remove the file.

There's no reason the file should be in the dirstate at that point and it
should not be removed.

Simplified way to reproduce:
$ hg init foo && cd foo
$ touch a b
$ hg ci -Am "Initial"
adding a
adding b
$ hg rm a
$ hg ci -m "One"
$ hg up 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg rm a
$ hg ci -m "Two"
created new head
$ touch a
$ hg up -C 1
not in dirstate: a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved

----------
messages: 9359
nosy: richlowe
priority: bug
status: unread
title: 'not in dirstate' complaints on certain cross-branch updates with existing copies of removed files

____________________________________________________
Mercurial issue tracker <mercurial-bugs at selenic.com>
<http://www.selenic.com/mercurial/bts/issue1666>
____________________________________________________



More information about the Mercurial-devel mailing list