view tests/test-mq-qdiff @ 10128:ea7c392f2b08

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.
author Patrick Mezard <pmezard@gmail.com>
date Wed, 23 Dec 2009 19:31:48 +0100
parents 24bc6e414610
children 99d285ac5da4
line wrap: on
line source

#!/bin/sh

echo "[extensions]" >> $HGRCPATH
echo "mq=" >> $HGRCPATH

echo % init
hg init a
cd a

echo % commit
echo 'base' > base
hg ci -Ambase -d '1 0'

echo % qnew mqbase
hg qnew -mmqbase mqbase

echo % qrefresh
echo 'patched' > base
hg qrefresh

echo % qdiff
hg qdiff | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
               -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"

echo % qdiff dirname
hg qdiff . | sed -e "s/\(+++ [a-zA-Z0-9_/.-]*\).*/\1/" \
                 -e "s/\(--- [a-zA-Z0-9_/.-]*\).*/\1/"

echo % qdiff filename
hg qdiff --nodates base

echo % revert
hg revert -a

echo % qpop
hg qpop

echo % qdelete mqbase
hg qdelete mqbase

echo % commit 2
printf '1\n2\n3\n4\nhello world\ngoodbye world\n7\n8\n9\n' > lines
hg ci -Amlines -d '2 0'

echo % qnew 2
hg qnew -mmqbase2 mqbase2
printf '\n\n1\n2\n3\n4\nhello  world\n     goodbye world\n7\n8\n9\n' > lines

echo % qdiff -U 1
hg qdiff --nodates -U 1

echo % qdiff -b
hg qdiff --nodates -b

echo % qdiff -U 1 -B
hg qdiff --nodates -U 1 -B

echo % qdiff -w
hg qdiff --nodates -w

echo % qdiff --reverse
hg qdiff --nodates --reverse