view tests/test-up-local-change @ 5137:2be225ea5722

extdiff: do single file diffs from the wc with no copy Extdiff was always making a temporary directory and copying files even when not required. This change makes extdiff avoid the copy when diffing a single file that lives in the wc. This lets external diff tools edit the working copy file directly. It also lets other extensions resuse the functions in extdiff and get in-place diffs.
author Brad Schick <schickb@gmail.com>
date Mon, 06 Aug 2007 14:50:57 -0700
parents 7a7d4937272b
children
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