Mercurial > hg
view tests/test-command-template @ 6179:36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Like some renames or copy operations, binary file removal does not generate any
"file" or "hunk" action, but was not tagged as such and let iterhunk() assume
no hunk was applied for the deleted file.
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Thu, 28 Feb 2008 00:07:37 +0100 |
parents | 434139080ed4 |
children | 9a9b02bcbcf4 |
line wrap: on
line source
#!/bin/sh hg init a cd a echo a > a hg add a echo line 1 > b echo line 2 >> b hg commit -l b -d '1000000 0' -u 'User Name <user@hostname>' hg add b echo other 1 > c echo other 2 >> c echo >> c echo other 3 >> c hg commit -l c -d '1100000 0' -u 'A. N. Other <other@place>' hg add c hg commit -m 'no person' -d '1200000 0' -u 'other@place' echo c >> c hg commit -m 'no user, no domain' -d '1300000 0' -u 'person' echo foo > .hg/branch hg commit -m 'new branch' -d '1400000 0' -u 'person' hg co -q 3 echo other 4 >> d hg add d hg commit -m 'new head' -d '1500000 0' -u 'person' hg merge -q hg commit -m 'merge' -d '1500001 0' -u 'person' # second branch starting at nullrev hg update null echo second > second hg add second hg commit -m second -d '1000000 0' -u 'User Name <user@hostname>' # make sure user/global hgrc does not affect tests echo '[ui]' > .hg/hgrc echo 'logtemplate =' >> .hg/hgrc echo 'style =' >> .hg/hgrc echo '# default style is like normal output' echo '# normal' hg log > log.out hg log --style default > style.out diff log.out style.out echo '# verbose' hg log -v > log.out hg log -v --style default > style.out diff log.out style.out echo '# debug' hg log --debug > log.out hg log --debug --style default > style.out diff log.out style.out echo '# revision with no copies (used to print a traceback)' hg tip -v --template '\n' echo '# compact style works' hg log --style compact hg log -v --style compact hg log --debug --style compact echo '# error if style not readable' touch q chmod 0 q hg log --style ./q echo '# error if no style' hg log --style notexist echo '# error if style missing key' echo 'q = q' > t hg log --style ./t echo '# error if include fails' echo 'changeset = q' >> t hg log --style ./t echo '# include works' rm q echo '{rev}' > q hg log --style ./t echo '# ui.style works' echo '[ui]' > .hg/hgrc echo 'style = t' >> .hg/hgrc hg log echo '# issue338' hg log --style=changelog > changelog cat changelog echo "# keys work" for key in author branches date desc file_adds file_dels file_mods \ files manifest node parents rev tags; do for mode in '' --verbose --debug; do hg log $mode --template "$key$mode: {$key}\n" done done echo '# filters work' hg log --template '{author|domain}\n' hg log --template '{author|person}\n' hg log --template '{author|user}\n' hg log --template '{date|age}\n' > /dev/null || exit 1 hg log --template '{date|date}\n' hg log --template '{date|isodate}\n' hg log --template '{date|rfc822date}\n' hg log --template '{desc|firstline}\n' hg log --template '{node|short}\n' hg log --template '<changeset author="{author|xmlescape}"/>\n' echo '# formatnode filter works' echo '# quiet' hg -q log -r 0 --template '#node|formatnode#\n' echo '# normal' hg log -r 0 --template '#node|formatnode#\n' echo '# verbose' hg -v log -r 0 --template '#node|formatnode#\n' echo '# debug' hg --debug log -r 0 --template '#node|formatnode#\n' echo '# error on syntax' echo 'x = "f' >> t hg log echo '# done'