[issue939] purge without --all incorrectly handles tracked files matching ignore patterns

Jesse Glick mercurial-bugs at selenic.com
Mon Jan 21 12:08:55 CST 2008


New submission from Jesse Glick <jesse.glick at sun.com>:

Hg 0.9.5, Ubuntu:

---%<---
$ hg init hgtest
$ cd hgtest
$ mkdir build
$ touch build/stuff
$ hg addrem
adding build/stuff
$ echo '^build$' > .hgignore
$ hg ci -A -m initial
adding .hgignore
$ hg loc
.hgignore
build/stuff
$ hg stat
$ hg stat -A
C .hgignore
C build/stuff
$ hg purge --print
The following tracked files weren't listed by the filesystem, but could still be
found:
build/stuff
This is probably due to a case-insensitive filesystem
abort: purging on name mangling filesystems is not yet fully supported
$ hg purge --print --all
$ 
---%<---

The --all flag should only have the effect of asking to delete (or print)
ignored files. Without it, only files marked '?' by 'hg stat' should be matched,
yet the actual behavior erroneously chokes on files matching an ignore pattern
but really tracked (and present), which ought to be passed over.

Of course the filesystem in question was case-sensitive: Linux ext3.

----------
messages: 4946
nosy: jglick
priority: bug
status: unread
title: purge without --all incorrectly handles tracked files matching ignore patterns

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



More information about the Mercurial-devel mailing list