annotate tests/test-convert-svn-tags @ 6543:a6e2e60b34d0

convert: handle past or foreign partial svn copies Subversion allows revisions to be composed of subparts coming from revisions before the parent or from other part of the repository. There is no simple representation for these now, keep the changes but do not track their origins.
author Patrick Mezard <pmezard@gmail.com>
date Mon, 14 Apr 2008 22:31:34 +0200
parents c1b47c0fd2b6
children 6ec941b6003d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
1 #!/bin/sh
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
2
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
3 "$TESTDIR/hghave" svn svn-bindings || exit 80
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
4
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
5 fix_path()
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
6 {
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
7 tr '\\' /
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
8 }
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
9
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
10 echo "[extensions]" >> $HGRCPATH
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
11 echo "convert = " >> $HGRCPATH
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
12 echo "hgext.graphlog =" >> $HGRCPATH
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
13
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
14 svnadmin create svn-repo
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
15
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
16 svnpath=`pwd | fix_path`
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
17 # SVN wants all paths to start with a slash. Unfortunately,
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
18 # Windows ones don't. Handle that.
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
19 expr $svnpath : "\/" > /dev/null
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
20 if [ $? -ne 0 ]; then
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
21 svnpath='/'$svnpath
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
22 fi
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
23
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
24 echo % initial svn import
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
25 mkdir projA
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
26 cd projA
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
27 mkdir trunk
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
28 mkdir branches
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
29 mkdir tags
6399
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
30 mkdir unrelated
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
31 cd ..
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
32
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
33 svnurl=file://$svnpath/svn-repo/projA
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
34 svn import -m "init projA" projA $svnurl | fix_path
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
35
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
36 echo % update svn repository
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
37 svn co $svnurl A | fix_path
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
38 cd A
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
39 echo a > trunk/a
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
40 svn add trunk/a
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
41 svn ci -m adda
6439
c1b47c0fd2b6 convert: fix test-convert-svn-* problems with mtime not changing
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 6414
diff changeset
42 "$TESTDIR/svn-safe-append.py" a trunk/a
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
43 svn ci -m changea
6439
c1b47c0fd2b6 convert: fix test-convert-svn-* problems with mtime not changing
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 6414
diff changeset
44 "$TESTDIR/svn-safe-append.py" a trunk/a
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
45 svn ci -m changea2
6399
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
46 # Add an unrelated commit to test that tags are bound to the
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
47 # correct "from" revision and not a dummy one
6439
c1b47c0fd2b6 convert: fix test-convert-svn-* problems with mtime not changing
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 6414
diff changeset
48 "$TESTDIR/svn-safe-append.py" a unrelated/dummy
6399
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
49 svn add unrelated/dummy
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
50 svn ci -m unrelatedchange
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
51 echo % tag current revision
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
52 svn up
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
53 svn copy trunk tags/trunk.v1
6399
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
54 svn copy trunk tags/trunk.badtag
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
55 svn ci -m "tagging trunk.v1 trunk.badtag"
6439
c1b47c0fd2b6 convert: fix test-convert-svn-* problems with mtime not changing
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents: 6414
diff changeset
56 "$TESTDIR/svn-safe-append.py" a trunk/a
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
57 svn ci -m changea3
6399
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
58 echo % fix the bad tag
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
59 # trunk.badtag should not show in converted tags
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
60 svn up
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
61 svn mv tags/trunk.badtag tags/trunk.goodtag
5efd447a9b8d convert: follow svn tags history (issue953)
Patrick Mezard <pmezard@gmail.com>
parents: 6398
diff changeset
62 svn ci -m "fix trunk.badtag"
6398
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
63 cd ..
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
64
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
65 echo % convert
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
66 hg convert --datesort $svnurl A-hg
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
67
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
68 cd A-hg
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
69 hg glog --template '#rev# #desc|firstline# tags: #tags#\n'
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
70 hg tags -q
0e91ef0b52e7 Add a test for svn tags conversion
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
71 cd ..
6400
c237b27e1350 convert: allow tags detection to be disabled
Patrick Mezard <pmezard@gmail.com>
parents: 6399
diff changeset
72
c237b27e1350 convert: allow tags detection to be disabled
Patrick Mezard <pmezard@gmail.com>
parents: 6399
diff changeset
73 echo % convert without tags
c237b27e1350 convert: allow tags detection to be disabled
Patrick Mezard <pmezard@gmail.com>
parents: 6399
diff changeset
74 hg convert --datesort --config convert.svn.tags= $svnurl A-notags-hg
6414
6e4f7170734c Fix test-convert-svn-tags on case sensitive filesystems
Thomas Arendsen Hein <thomas@intevation.de>
parents: 6400
diff changeset
75 hg -R A-notags-hg tags -q
6400
c237b27e1350 convert: allow tags detection to be disabled
Patrick Mezard <pmezard@gmail.com>
parents: 6399
diff changeset
76