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

Pazu pazu at pazu.com.br
Tue Feb 12 07:55:36 CST 2008


Matt Mackall <mpm <at> selenic.com> writes:

> > 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 [...]

> 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.

I've run in a situation where two copies of hg in the same machine (native
win32 and cygwin versions) disagree about modified files. Here's how I can
reproduce this:

First, clone a remote repository using cygwin hg:

pazu at kombi:$ hg clone https://hg.pazu.com.br/tenjin
destination directory: tenjin
http authorization required
realm: Mercurial Repo
user: pazu
password:
requesting all changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 62 changes to 62 files
62 files updated, 0 files merged, 0 files removed, 0 files unresolved

Then just issue a 'status' using win32 hg:

C:\users\pazu\tenjin>hg status
M README
M Rakefile
M app\controllers\application.rb
M app\helpers\application_helper.rb
M app\models\user.rb
M config\boot.rb
[...]

The same thing happens if I do this the other way around (clone with win32,
status with cygwin).

debugstate and manifest seems to agree, using both versions:

pazu at kombi:~/tenjin$ hg debugstate
n 644         18 2008-02-12 11:40:40 .hgignore
n 755       8819 2008-02-12 11:40:40 README
n 755        307 2008-02-12 11:40:40 Rakefile
[...]

C:\users\pazu\tenjin>hg debugstate
n 644         18 2008-02-12 11:40:40 .hgignore
n 755       8819 2008-02-12 11:40:40 README
n 755        307 2008-02-12 11:40:40 Rakefile
[...]

pazu at kombi:~/tenjin$ hg manifest --debug
d13cb68919e096fa9cc1b8674c01a3ed744b232f 644   .hgignore
a128f3540484a21a1bf13c1a56a8a7e776cf4651 755 * README
e97feff1b550a1634a19e25639f568bc0b29ee2d 755 * Rakefile
[...]

C:\users\pazu\tenjin>hg manifest --debug
d13cb68919e096fa9cc1b8674c01a3ed744b232f 644   .hgignore
a128f3540484a21a1bf13c1a56a8a7e776cf4651 755 * README
e97feff1b550a1634a19e25639f568bc0b29ee2d 755 * Rakefile
[...]

I have no idea what could be causing this, but it's a great source of headache
for me. I can't live without cygwin on windows, but many tools, like Netbeans
Mercurial integration won't work with the cygwin version, so I need the win32
version installed.

-- Pazu



More information about the Mercurial mailing list