Spurious 'M' status (was: Re: Mozilla: hg as a collaboration tool)

Matt Mackall mpm at selenic.com
Thu Feb 7 11:20:37 CST 2008


On Thu, 2008-02-07 at 11:59 -0500, Jesse Glick wrote:
> Dirkjan Ochtman wrote:
> > hg status [can on occasion show] files that don't show up in hg diff
> > (because just their x bit changed, for example). In these cases, it
> > either helps to understand the underlying model or there are simple
> > fixes ([diff] git = true or some such)
> 
> Somewhat off-topic, I have run into the situation - which of course I 
> have no idea how to reproduce - that 'hg stat' shows some files as 
> modified that I certainly did not intentionally edit, yet even 'hg di 
> -g' shows nothing. 'hg up -C' corrects the problem but 'hg revert 
> <file>' does not. Out of tens of thousands of files in the repo, just a 
> dozen or so are affected, and look to be selected quite at random. I 
> think I have only seen this on Windows.
> 
> I don't know if it is a Mercurial bug, but when it happened I had no 
> obvious way to ask Mercurial: "what exactly makes you think this file is 
> modified?" Is there a simple way to get a useful diagnosis when this 
> happens?

Look at the output of:

hg debugstate | grep file
hg manifest --debug | grep file
ls -l file

eg:
 n 755        537 2008-01-21 14:31:14 hg
 e48ab706a921c677f12a4d0acab26bcaa501f4ce 755 * hg
 -rwxr-xr-x 1 1000 1000 537 Jan 21 14:31 hg*

Permissions agree on all three, size and date agree on the first and
third.

We've gotten a report where somehow the dirstate thought the exec bit
was not what it should be, but we don't know how to reproduce it.

-- 
Mathematics is the supreme nostalgia of our time.



More information about the Mercurial mailing list