Mercurial > hg
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 |