view tests/test-up-local-change @ 4370:4ddc6d374265

localrepository.status: only acquire wlock if actually needed. This speeds up the common case of not needing to update the dirstate, and avoids the need to reload and parse the dirstate "just in case".
author Bryan O'Sullivan <bos@serpentine.com>
date Tue, 24 Apr 2007 11:05:39 -0700
parents 46280c004f22
children 7a7d4937272b
line wrap: on
line source

#!/bin/sh

HGMERGE=true; export HGMERGE

set -e
mkdir r1
cd r1
hg init
echo a > a
hg addremove
hg commit -m "1" -d "1000000 0"

hg clone . ../r2
cd ../r2
hg up
echo abc > a
hg diff --nodates

cd ../r1
echo b > b
echo a2 > a
hg addremove
hg commit -m "2" -d "1000000 0"

cd ../r2
hg -q pull ../r1
hg status
hg parents
hg --debug up
hg parents
hg --debug up 0
hg parents
hg --debug merge || echo failed
hg parents
hg --debug up
hg parents
hg -v history
hg diff --nodates

# create a second head
cd ../r1
hg up 0
echo b2 > b
echo a3 > a
hg addremove
hg commit -m "3" -d "1000000 0"

cd ../r2
hg -q pull ../r1
hg status
hg parents
hg --debug up || echo failed
hg --debug merge || echo failed
hg --debug merge -f
hg parents
hg diff --nodates

# test a local add
cd ..
hg init a
hg init b
echo a > a/a
echo a > b/a
hg --cwd a commit -A -m a
cd b
hg add a 
hg pull -u ../a
hg st