Make {file_copies} usable as a --template key
Before this, to display file copies in templates, you had to write something
like {file_copies%filecopy}. For some reason, the {file_copy} subtemplate was
used by default but not defined by default in changeset_templater, while styles
were already using it. Here we define {file_copy} in changeset_templater, and
change the templater to handle formatting strings like {file_copies%filecopy}
with already expanded keys (in this case {file_copies}), for backward
compatibility.
#!/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