Mercurial > public > mercurial-scm > hg
diff tests/test-record @ 5037:b2607267236d
Add record extension, giving darcs-like interactive hunk picking
author | Bryan O'Sullivan <bos@serpentine.com> |
---|---|
date | Tue, 31 Jul 2007 16:28:05 -0700 |
parents | |
children | c9126c24e098 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-record Tue Jul 31 16:28:05 2007 -0700 @@ -0,0 +1,204 @@ +#!/bin/sh + +echo "[ui]" >> $HGRCPATH +echo "interactive=true" >> $HGRCPATH +echo "[extensions]" >> $HGRCPATH +echo "record=" >> $HGRCPATH + +echo % help + +hg help record + +hg init a +cd a + +echo % select no files + +touch empty-rw +hg add empty-rw +hg record empty-rw<<EOF +n +EOF +echo; hg tip -p + +echo % select files but no hunks + +hg record empty-rw<<EOF +y +n +EOF +echo; hg tip -p + +echo % record empty file + +hg record -d '0 0' -m empty empty-rw<<EOF +y +y +EOF +echo; hg tip -p + +echo % rename empty file + +hg mv empty-rw empty-rename +hg record -d '1 0' -m rename<<EOF +y +EOF +echo; hg tip -p + +echo % copy empty file + +hg cp empty-rename empty-copy +hg record -d '2 0' -m copy<<EOF +y +EOF +echo; hg tip -p + +echo % delete empty file + +hg rm empty-copy +hg record -d '3 0' -m delete<<EOF +y +EOF +echo; hg tip -p + +echo % add binary file + +hg bundle --base -2 tip.bundle +hg add tip.bundle +hg record -d '4 0' -m binary<<EOF +y +EOF +echo; hg tip -p + +echo % change binary file + +hg bundle --base -2 tip.bundle +hg record -d '5 0' -m binary-change<<EOF +y +EOF +echo; hg tip -p + +echo % rename and change binary file + +hg mv tip.bundle top.bundle +hg bundle --base -2 top.bundle +hg record -d '6 0' -m binary-change-rename<<EOF +y +EOF +echo; hg tip -p + +echo % add plain file + +for i in 1 2 3 4 5 6 7 8 9 10; do + echo $i >> plain +done + +hg add plain +hg record -d '7 0' -m plain plain<<EOF +y +y +EOF +echo; hg tip -p + +echo % modify end of plain file + +echo 11 >> plain +hg record -d '8 0' -m end plain <<EOF +y +y +EOF + +echo % modify end of plain file, no EOL + +hg tip --template '{node}' >> plain +hg record -d '9 0' -m noeol plain <<EOF +y +y +EOF + +echo % modify end of plain file, add EOL + +echo >> plain +hg record -d '10 0' -m eol plain <<EOF +y +y +y +EOF + +echo % modify beginning, trim end, record both + +rm plain +for i in 2 2 3 4 5 6 7 8 9 10; do + echo $i >> plain +done + +hg record -d '10 0' -m begin-and-end plain <<EOF +y +y +y +EOF +echo; hg tip -p + +echo % trim beginning, modify end + +rm plain +for i in 4 5 6 7 8 9 10.new; do + echo $i >> plain +done + +echo % record end + +hg record -d '11 0' -m end-only plain <<EOF +y +n +y +EOF +echo; hg tip -p + +echo % record beginning + +hg record -d '12 0' -m begin-only plain <<EOF +y +y +EOF +echo; hg tip -p + +echo % add to beginning, trim from end + +rm plain +for i in 1 2 3 4 5 6 7 8 9; do + echo $i >> plain +done + +echo % record end + +hg record --traceback -d '13 0' -m end-again plain<<EOF +y +n +y +EOF + +echo % add to beginning, middle, end + +rm plain +for i in 1 2 3 4 5 5.new 5.reallynew 6 7 8 9 10 11; do + echo $i >> plain +done + +echo % record beginning, middle + +hg record -d '14 0' -m middle-only plain <<EOF +y +y +y +n +EOF +echo; hg tip -p + +echo % record end + +hg record -d '15 0' -m end-only plain <<EOF +y +y +EOF +echo; hg tip -p