view tests/test-update-reverse @ 2474:1e32e2fe8a67

Fix cold cache diff performance cold cache diff performance has regressed in two ways. localrepo.changes has optimizations for diffing against the working dir parent that expect node1 to be None. commands.revpair() usage means that commands.dodiff() never sends node1 == None. This is fixed in localrepo.changes by checking against the dirstate parents. In the non-dirstate parents case, localrepo.changes does a loop comparing files without first sorting the file names, leading to random access across the disk.
author Chris Mason <mason@suse.com>
date Wed, 21 Jun 2006 09:28:48 -0700
parents 7544700fd931
children
line wrap: on
line source

#!/bin/sh

hg init
touch a
hg add a
hg commit -m "Added a" -d "1000000 0"

touch main
hg add main
hg commit -m "Added main" -d "1000000 0"
hg checkout 0

echo Main should be gone
ls

touch side1
hg add side1
hg commit -m "Added side1" -d "1000000 0"
touch side2
hg add side2
hg commit -m "Added side2" -d "1000000 0"

hg log

echo Should have two heads, side2 and main
hg heads

echo Should show "a side1 side2"
ls

hg update --debug -C 1
echo Should only show "a main"
ls