comparison tests/test-custom-filters.t @ 12124:7edda6c7985d

tests: unify test-custom-filters
author Nicolas Dumazet <nicdumz.commits@gmail.com>
date Mon, 30 Aug 2010 18:57:48 +0900
parents tests/test-custom-filters@a964ab624385
children e5ccb9ea8266
comparison
equal deleted inserted replaced
12123:323292c2e566 12124:7edda6c7985d
1 $ hg init
2
3 $ cat > .hg/hgrc <<EOF
4 > [extensions]
5 > prefixfilter = prefix.py
6 > [encode]
7 > *.txt = stripprefix: Copyright 2046, The Masters
8 > [decode]
9 > *.txt = insertprefix: Copyright 2046, The Masters
10 > EOF
11
12 $ cat > prefix.py <<EOF
13 > from mercurial import util
14 > def stripprefix(s, cmd, filename, **kwargs):
15 > header = '%s\n' % cmd
16 > if s[:len(header)] != header:
17 > raise util.Abort('missing header "%s" in %s' % (cmd, filename))
18 > return s[len(header):]
19 > def insertprefix(s, cmd):
20 > return '%s\n%s' % (cmd, s)
21 > def reposetup(ui, repo):
22 > repo.adddatafilter('stripprefix:', stripprefix)
23 > repo.adddatafilter('insertprefix:', insertprefix)
24 > EOF
25
26 $ cat > .hgignore <<EOF
27 > .hgignore
28 > prefix.py
29 > prefix.pyc
30 > EOF
31
32 $ cat > stuff.txt <<EOF
33 > Copyright 2046, The Masters
34 > Some stuff to ponder very carefully.
35 > EOF
36 $ hg add stuff.txt
37 $ hg ci -m stuff
38
39 Repository data:
40
41 $ hg cat stuff.txt
42 Some stuff to ponder very carefully.
43
44 Fresh checkout:
45
46 $ rm stuff.txt
47 $ hg up -C
48 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
49 $ cat stuff.txt
50 Copyright 2046, The Masters
51 Some stuff to ponder very carefully.
52 $ echo >> stuff.txt <<EOF
53 > Very very carefully.
54 > EOF
55 $ hg stat
56 M stuff.txt
57
58 $ cat > morestuff.txt <<EOF
59 > Unauthorized material subject to destruction.
60 > EOF
61
62 Problem encoding:
63
64 $ hg add morestuff.txt
65 $ hg ci -m morestuff
66 abort: missing header "Copyright 2046, The Masters" in morestuff.txt
67 $ hg stat
68 M stuff.txt
69 A morestuff.txt