annotate tests/test-convert-cvs-synthetic @ 9021:2ccb527c7b1a

gendoc: fix localization of help topic When a topic provides a callable method for its text, most likely this text will be generated from different parts, so it does not make sense to apply gettext on the whole result, rather the method should provide translation by itself. This is the case with the extensions topic, which triggers a double gettext call, making the ASCII codec fail when it encounters 8 bit characters, and prevents the documentation from being built.
author Cédric Duval <cedricduval@free.fr>
date Sat, 04 Jul 2009 12:12:36 +0200
parents 1f0f01bc86a5
children 56a5f80556f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
1 #!/bin/sh
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
2
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
3 # This feature requires use of builtin cvsps!
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
4 "$TESTDIR/hghave" cvs || exit 80
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
5
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
6 set -e
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
7
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
8 echo "[extensions]" >> $HGRCPATH
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
9 echo "convert = " >> $HGRCPATH
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
10 echo "graphlog = " >> $HGRCPATH
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
11 echo "[convert]" >> $HGRCPATH
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
12 echo "cvsps=builtin" >> $HGRCPATH
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
13
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
14 echo % create cvs repository with one project
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
15 mkdir cvsrepo
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
16 cd cvsrepo
8350
1f0f01bc86a5 tests: avoid export FOO=bar bashism
Martin Geisler <mg@lazybytes.net>
parents: 8249
diff changeset
17 CVSROOT=`pwd`
1f0f01bc86a5 tests: avoid export FOO=bar bashism
Martin Geisler <mg@lazybytes.net>
parents: 8249
diff changeset
18 export CVSROOT
1f0f01bc86a5 tests: avoid export FOO=bar bashism
Martin Geisler <mg@lazybytes.net>
parents: 8249
diff changeset
19 CVS_OPTIONS=-f
1f0f01bc86a5 tests: avoid export FOO=bar bashism
Martin Geisler <mg@lazybytes.net>
parents: 8249
diff changeset
20 export CVS_OPTIONS
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
21 cd ..
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
22
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
23 filterpath()
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
24 {
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
25 eval "$@" | sed "s:$CVSROOT:*REPO*:g"
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
26 }
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
27
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
28 cvscall()
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
29 {
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
30 echo cvs -f "$@"
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
31 cvs -f "$@" 2>&1
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
32 }
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
33
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
34 # output of 'cvs ci' varies unpredictably, so just discard it
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
35 cvsci()
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
36 {
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
37 echo cvs -f ci "$@"
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
38 cvs -f ci "$@" >/dev/null 2>&1
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
39 }
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
40
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
41 filterpath cvscall -d "$CVSROOT" init
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
42 mkdir cvsrepo/proj
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
43
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
44 cvscall -q co proj
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
45
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
46 echo % create file1 on the trunk
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
47 cd proj
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
48 touch file1
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
49 cvscall -Q add file1
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
50 cvsci -m"add file1 on trunk" file1
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
51
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
52 echo % create two branches
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
53 cvscall -q tag -b v1_0
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
54 cvscall -q tag -b v1_1
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
55
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
56 echo % create file2 on branch v1_0
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
57 cvscall -Q up -rv1_0
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
58 touch file2
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
59 cvscall -Q add file2
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
60 cvsci -m"add file2" file2
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
61
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
62 echo % create file3, file4 on branch v1_1
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
63 cvscall -Q up -rv1_1
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
64 touch file3
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
65 touch file4
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
66 cvscall -Q add file3 file4
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
67 cvsci -m"add file3, file4 on branch v1_1" file3 file4
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
68
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
69 echo % merge file2 from v1_0 to v1_1
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
70 cvscall -Q up -jv1_0
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
71 cvsci -m"MERGE from v1_0: add file2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
72
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
73 # Step things up a notch: now we make the history really hairy, with
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
74 # changes bouncing back and forth between trunk and v1_2 and merges
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
75 # going both ways. (I.e., try to model the real world.)
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
76
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
77 echo "% create branch v1_2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
78 cvscall -Q up -A
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
79 cvscall -q tag -b v1_2
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
80
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
81 echo "% create file5 on branch v1_2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
82 cvscall -Q up -rv1_2
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
83 touch file5
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
84 cvs -Q add file5
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
85 cvsci -m"add file5 on v1_2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
86
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
87 echo "% create file6 on trunk post-v1_2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
88 cvscall -Q up -A
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
89 touch file6
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
90 cvscall -Q add file6
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
91 cvsci -m"add file6 on trunk post-v1_2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
92
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
93 echo "% merge file5 from v1_2 to trunk"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
94 cvscall -Q up -A
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
95 cvscall -Q up -jv1_2 file5
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
96 cvsci -m"MERGE from v1_2: add file5"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
97
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
98 echo "% merge file6 from trunk to v1_2"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
99 cvscall -Q up -rv1_2
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
100 cvscall up -jHEAD file6
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
101 cvsci -m"MERGE from HEAD: add file6"
8081
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
102
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
103 echo % cvs rlog output
6c3b8132078e issue1577: fix broken test by assuming less about CVS output.
Greg Ward <greg-hg@gerg.ca>
parents: 7862
diff changeset
104 filterpath cvscall -q rlog proj | egrep '^(RCS file|revision)'
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
105
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
106 echo "% convert to hg (#1)"
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
107 cd ..
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
108 filterpath hg convert --datesort proj proj.hg
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
109
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
110 echo "% hg glog output (#1)"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
111 hg -R proj.hg glog --template "{rev} {desc}\n"
7862
02981000012e cvsps: recognize and eliminate CVS' synthetic "file added" revisions.
Greg Ward <greg-hg@gerg.ca>
parents:
diff changeset
112
8249
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
113 echo "% convert to hg (#2: with merge detection)"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
114 filterpath hg convert \
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
115 --config convert.cvsps.mergefrom="\"^MERGE from (\S+):\"" \
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
116 --datesort \
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
117 proj proj.hg2
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
118
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
119 echo "% hg glog output (#2)"
2c7c973c2abd Reproduce crash where synthetic revs break merge detection (issue1578).
Greg Ward <greg-hg@gerg.ca>
parents: 8081
diff changeset
120 hg -R proj.hg2 glog --template "{rev} {desc}\n"