tests/test-dirstate-future
author Adrian Buehlmann <adrian@cadifra.com>
Fri, 21 Aug 2009 14:17:23 +0200
changeset 9378 1a7bcf58ba56
permissions -rwxr-xr-x
dirstate.write: don't ignore stat data if mtime is in the future (issue1790) This change narrows the race guard that was introduced by af3f26b6bba4 ("dirstate: ignore stat data for files that were updated too recently") to not discard the _map entry's stat data if the mtime is in the future. Without this change, status locks files having odd mtimes in the future into the 'unset' state, causing needless file compares later (admittedly harmless), but also inflicting highly irritating sticky effects on tools/plugins that directly read .hg/dirstate (e.g. TortoiseHg).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9378
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     1
#!/bin/sh
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     2
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     3
hg init
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     4
echo a > a
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     5
hg add
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     6
hg ci -m1
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     7
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     8
# set mtime of a into the future
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
     9
touch -t 202101011200 a
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    10
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    11
# status must not set a's entry to unset (issue1790)
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    12
hg status
1a7bcf58ba56 dirstate.write: don't ignore stat data if mtime is in the future (issue1790)
Adrian Buehlmann <adrian@cadifra.com>
parents:
diff changeset
    13
hg debugstate