tests/test-empty-group
author Patrick Mezard <pmezard@gmail.com>
Wed, 23 Dec 2009 19:31:48 +0100
changeset 10128 ea7c392f2b08
parent 4659 7a7d4937272b
child 12156 4c94b6d0fb1c
permissions -rwxr-xr-x
patch: drop eol normalization fast-path for 'lf' and 'crlf' With eolmode set to 'lf' or 'crlf' we avoided the hunk duplication and normalization by reading the input patch in text mode. Dropping this optimization simplifies code expectations for a small overhead. The change in test-mq-eol comes from a tolerance to CRLF instead of LF for last lines without newlines being broken by this revision. This tolerance was only partially supported and will be added again in a better way.

#!/bin/sh
#
#  A          B
#
#  3  4       3
#  |\/|       |\
#  |/\|       | \
#  1  2       1  2
#  \ /        \ /
#   0          0
#
# if the result of the merge of 1 and 2
# is the same in 3 and 4, no new manifest
# will be created and the manifest group
# will be empty during the pull
#
# (plus we test a failure where outgoing
# wrongly reported the number of csets)
#

hg init a
cd a
touch init
hg ci -A -m 0 -d "1000000 0"
touch x y
hg ci -A -m 1 -d "1000000 0"
hg update 0
touch x y
hg ci -A -m 2 -d "1000000 0"
hg merge 1
hg ci -A -m m1 -d "1000000 0"
#hg log
#hg debugindex .hg/store/00manifest.i
hg update -C 1
hg merge 2
hg ci -A -m m2 -d "1000000 0"
#hg log
#hg debugindex .hg/store/00manifest.i

cd ..
hg clone -r 3 a b
hg clone -r 4 a c
hg -R a outgoing b
hg -R a outgoing c
hg -R b outgoing c
hg -R c outgoing b

hg -R b pull a
hg -R c pull a