Checkout files not in sync with workdir parent !

Matt Mackall mpm at selenic.com
Tue Jan 8 19:32:46 UTC 2013


On Mon, 2013-01-07 at 17:11 -0500, Long Vu wrote:
> Hi,
> 
> Here's what happened:
> 
> # have not pulled for a while
> hg pull
> hg update
> hg cat -r . file1 > file1_from_repo
> diff file1 file1_from_repo
> # diff found differences
> 
> But hg status and hg diff found nothing !

Stock Mercurial can miss changes if:

- the timestamp is unchanged
- the size is unchanged
- the timestamp is NOT the time of checkout

In other words, you take a file Mercurial knows is clean, make a
size-preserving edit, then set the date back to its original date. 
This is an issue we're not going to fix; it would make Mercurial an
order of magnitude slower for everyone to catch a very small number of
misbehaving apps/users.

It may also be possible to miss changes if a write to the file occurs
during checkout.

If you can reproduce the issue, please file a bug report, we may be able
to diagnose it. But reports after you've destroyed the evidence: not so
interesting.

-- 
Mathematics is the supreme nostalgia of our time.





More information about the Mercurial mailing list