test-custom-filters
60 lines
| 1.1 KiB
| text/plain
|
TextLexer
/ tests / test-custom-filters
|
r6066 | #!/bin/sh | ||
hg init | ||||
cat > .hg/hgrc <<EOF | ||||
[extensions] | ||||
prefixfilter = prefix.py | ||||
[encode] | ||||
*.txt = stripprefix: Copyright 2046, The Masters | ||||
[decode] | ||||
*.txt = insertprefix: Copyright 2046, The Masters | ||||
EOF | ||||
cat > prefix.py <<EOF | ||||
from mercurial import util | ||||
def stripprefix(s, cmd, filename, **kwargs): | ||||
header = '%s\n' % cmd | ||||
if s[:len(header)] != header: | ||||
raise util.Abort('missing header "%s" in %s' % (cmd, filename)) | ||||
return s[len(header):] | ||||
def insertprefix(s, cmd): | ||||
return '%s\n%s' % (cmd, s) | ||||
def reposetup(ui, repo): | ||||
repo.adddatafilter('stripprefix:', stripprefix) | ||||
repo.adddatafilter('insertprefix:', insertprefix) | ||||
EOF | ||||
cat > .hgignore <<EOF | ||||
.hgignore | ||||
prefix.py | ||||
prefix.pyc | ||||
EOF | ||||
cat > stuff.txt <<EOF | ||||
Copyright 2046, The Masters | ||||
Some stuff to ponder very carefully. | ||||
EOF | ||||
hg add stuff.txt | ||||
hg ci -m stuff | ||||
echo '% Repository data:' | ||||
hg cat stuff.txt | ||||
echo '% Fresh checkout:' | ||||
rm stuff.txt | ||||
|
r8742 | hg up -C | ||
|
r6066 | cat stuff.txt | ||
echo >> stuff.txt <<EOF | ||||
Very very carefully. | ||||
EOF | ||||
hg stat | ||||
cat > morestuff.txt <<EOF | ||||
Unauthorized material subject to destruction. | ||||
EOF | ||||
echo '% Problem encoding:' | ||||
hg add morestuff.txt | ||||
hg ci -m morestuff | ||||
hg stat | ||||