1#!/bin/sh
2#
3# Use this script to generate branches.svndump
4#
5
6mkdir temp
7cd temp
8
9mkdir project-orig
10cd project-orig
11mkdir trunk
12mkdir branches
13cd ..
14
15svnadmin create svn-repo
16svnurl=file://`pwd`/svn-repo
17svn import project-orig $svnurl -m "init projA"
18
19svn co $svnurl project
20cd project
21echo a > trunk/a
22echo b > trunk/b
23echo c > trunk/c
24mkdir trunk/dir
25echo e > trunk/dir/e
26# Add a file within branches, used to confuse branch detection
27echo d > branches/notinbranch
28svn add trunk/a trunk/b trunk/c trunk/dir branches/notinbranch
29svn ci -m hello
30svn up
31
32# Branch to old
33svn copy trunk branches/old
34svn rm branches/old/c
35svn rm branches/old/dir
36svn ci -m "branch trunk, remove c and dir"
37svn up
38
39# Update trunk
40echo a >> trunk/a
41svn ci -m "change a"
42
43# Update old branch
44echo b >> branches/old/b
45svn ci -m "change b"
46
47# Create a cross-branch revision
48svn move trunk/b branches/old/c
49echo c >> branches/old/c
50svn ci -m "move and update c"
51
52# Update old branch again
53echo b >> branches/old/b
54svn ci -m "change b again"
55
56# Move back and forth between branch of similar names
57# This used to generate fake copy records
58svn up
59svn move branches/old branches/old2
60svn ci -m "move to old2"
61svn move branches/old2 branches/old
62svn ci -m "move back to old"
63
64# Update trunk again
65echo a > trunk/a
66svn ci -m "last change to a"
67
68# Branch again from a converted revision
69svn copy -r 1 $svnurl/trunk branches/old3
70svn ci -m "branch trunk@1 into old3"
71cd ..
72
73svnadmin dump svn-repo > ../branches.svndump
74