tests/test-parents
author Patrick Mezard <pmezard@gmail.com>
Fri, 01 Jan 2010 20:54:05 +0100
changeset 10189 e451e599fbcf
parent 5299 5a4824f6665c
permissions -rwxr-xr-x
patch: support diff data loss detection and upgrade In worst case, generating diff in upgrade mode can be two times more expensive than generating it in git mode directly: we may have to regenerate the whole diff again whenever a git feature is detected. Also, the first diff attempt is completely buffered instead of being streamed. That said, even without having profiled it yet, I am convinced we can fast-path the upgrade mode if necessary were it to be used in regular diff commands, and not only in mq where avoiding data loss is worth the price.

#!/bin/sh
# test parents command

hg init repo
cd repo
echo % no working directory
hg parents

echo a > a
echo b > b
hg ci -Amab -d '0 0'
echo a >> a
hg ci -Ama -d '1 0'
echo b >> b
hg ci -Amb -d '2 0'
echo c > c
hg ci -Amc -d '3 0'
hg up -C 1
echo d > c
hg ci -Amc2 -d '4 0'
hg up -C 3

echo % hg parents
hg parents

echo % hg parents a
hg parents a

echo % hg parents c, single revision
hg parents c

echo % hg parents -r 3 c
hg parents -r 3 c

echo % hg parents -r 2
hg parents -r 2

echo % hg parents -r 2 a
hg parents -r 2 a

echo % hg parents -r 2 ../a
hg parents -r 2 ../a

echo '% cd dir; hg parents -r 2 ../a'
mkdir dir
cd dir
hg parents -r 2 ../a

echo '% hg parents -r 2 path:a'
hg parents -r 2 path:a

echo '% hg parents -r 2 glob:a'
cd ..
hg parents -r 2 glob:a

echo % merge working dir with 2 parents, hg parents c
HGMERGE=true hg merge
hg parents c

echo % merge working dir with 1 parent, hg parents
hg up -C 2
HGMERGE=true hg merge -r 4
hg parents
echo % merge working dir with 1 parent, hg parents c
hg parents c

true