annotate tests/svn/svndump-move.sh @ 32378:7d0c69505a66

cext: extract revlog/index parsing code to own C file parsers.c is ~3000 lines and ~2/3 of it is related to the revlog index type. We already have separate C source files for directory utilities and manifest parsing. I think the quite unwieldy revlog/index parsing code should be self-contained as well. I performed the extraction as a file copy then removed content from both sides in order to preserve file history and blame. As part of this, I also had to move the hexdigit table and function to a shared header since it is used by both parsers.c and revlog.c # no-check-commit
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 20 May 2017 14:01:05 -0700
parents 55abde5cba43
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7475
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
1 #!/bin/sh
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
2 #
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
3 # Use this script to generate move.svndump
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
4 #
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
5
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
6 mkdir temp
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
7 cd temp
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
8
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
9 mkdir project-orig
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
10 cd project-orig
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
11 mkdir trunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
12 echo a > trunk/a
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
13 mkdir trunk/d1
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
14 mkdir trunk/d2
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
15 echo b > trunk/d1/b
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
16 echo c > trunk/d1/c
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
17 echo d > trunk/d2/d
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
18 cd ..
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
19
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
20 svnadmin create svn-repo
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
21 svnurl=file://`pwd`/svn-repo
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
22 svn import project-orig $svnurl -m "init projA"
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
23
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
24 svn co $svnurl project
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
25 cd project
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
26 # Build a module renaming chain which used to confuse the converter.
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
27 # Update svn repository
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
28 echo a >> trunk/a
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
29 echo c >> trunk/d1/c
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
30 svn ci -m commitbeforemove
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
31 svn mv $svnurl/trunk $svnurl/subproject -m movedtrunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
32 svn up
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
33 mkdir subproject/trunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
34 svn add subproject/trunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
35 svn ci -m createtrunk
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
36 mkdir subproject/branches
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
37 svn add subproject/branches
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
38 svn ci -m createbranches
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
39 svn mv $svnurl/subproject/d1 $svnurl/subproject/trunk/d1 -m moved1
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
40 svn mv $svnurl/subproject/d2 $svnurl/subproject/trunk/d2 -m moved2
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
41 svn up
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
42 echo b >> subproject/trunk/d1/b
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
43
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
44 svn rm subproject/trunk/d2
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
45 svn ci -m "changeb and rm d2"
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
46 svn mv $svnurl/subproject/trunk/d1 $svnurl/subproject/branches/d1 -m moved1again
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
47
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
48 if svn help copy | grep 'SRC\[@REV\]' > /dev/null 2>&1; then
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
49 # SVN >= 1.5 replaced the -r REV syntax with @REV
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
50 # Copy a file from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
51 svn copy $svnurl/subproject/trunk/d2/d@7 $svnurl/subproject/trunk -m copyfilefrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
52 # Copy a directory from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
53 svn copy $svnurl/subproject/trunk/d2@7 $svnurl/subproject/trunk -m copydirfrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
54 else
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
55 # Copy a file from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
56 svn copy -r 7 $svnurl/subproject/trunk/d2/d $svnurl/subproject/trunk -m copyfilefrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
57 # Copy a directory from a past revision
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
58 svn copy -r 7 $svnurl/subproject/trunk/d2 $svnurl/subproject/trunk -m copydirfrompast
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
59 fi
8884
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
60
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
61 # Copy a directory while removing a subdirectory
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
62 svn up
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
63 mkdir -p subproject/trunk/d3/d31
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
64 echo e > subproject/trunk/d3/d31/e
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
65 echo f > subproject/trunk/d3/f
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
66 svn add subproject/trunk/d3
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
67 svn ci -m "add d3"
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
68 svn copy subproject/trunk/d3 subproject/trunk/d4
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
69 svn rm subproject/trunk/d3/d31
8b603c7c808e convert/svn: remove dead code from entry deletion code path
Patrick Mezard <pmezard@gmail.com>
parents: 7475
diff changeset
70 svn ci -m "copy dir and remove subdir"
11124
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
71
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
72 # Test directory moves
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
73 svn up
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
74 mkdir -p subproject/trunk/d4old
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
75 echo g > subproject/trunk/d4old/g
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
76 svn add subproject/trunk/d4old
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
77 svn ci -m "add d4old"
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
78 svn mv subproject/trunk/d4old subproject/trunk/d4new
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
79 svn ci -m "rename d4old into d4new"
55abde5cba43 test-convert-svn-move: test moved dirs copy records
Patrick Mezard <pmezard@gmail.com>
parents: 8884
diff changeset
80
7475
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
81 cd ..
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
82
90d8dfb481e7 Rewrite svn tests using svndump
Patrick Mezard <pmezard@gmail.com>
parents:
diff changeset
83 svnadmin dump svn-repo > ../move.svndump