Mercurial > hgsubversion
annotate tests/fixtures/replace_branch_with_branch.sh @ 1467:53e306a6086b
maps: implement sqlite revmap
This patch adds the SqliteRevMap, which has a same interface with RevMap
but is backed by a sqlite database.
It uses database indexes to accelerate all kinds of queries and disables
iteration to prevent slow code being written in the future.
In practise, it should be faster on large repos with millions of svn
revisions but slower on small repos due to the overhead introduced.
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 15 Jun 2016 18:23:07 +0100 |
parents | 2723152c8111 |
children |
rev | line source |
---|---|
582
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 RSVN="`pwd`/rsvn.py" |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 export PATH=/bin:/usr/bin |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 mkdir temp |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 cd temp |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 svnadmin create repo |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 svn co file://`pwd`/repo wc |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 cd wc |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 mkdir trunk branches |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
13 cd trunk |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
14 echo a > a |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 cd .. |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 svn add * |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
17 svn ci -m 'initial' |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
18 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
19 svn up |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
20 svn cp trunk branches/branch1 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
21 svn ci -m 'branch1' |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
22 svn up |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
23 echo b > branches/branch1/b |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
24 echo d > branches/branch1/d |
587
c06f59441f8e
editor: fix replaced directory copies
Patrick Mezard <pmezard@gmail.com>
parents:
582
diff
changeset
|
25 mkdir branches/branch1/dir |
c06f59441f8e
editor: fix replaced directory copies
Patrick Mezard <pmezard@gmail.com>
parents:
582
diff
changeset
|
26 echo e > branches/branch1/dir/e |
588
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
27 echo f > branches/branch1/f |
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
28 echo g > branches/branch1/g |
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
29 svn add branches/branch1/b branches/branch1/d branches/branch1/dir \ |
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
30 branches/branch1/f branches/branch1/g |
582
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
31 svn ci -m 'add b to branch1' |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
32 svn cp trunk branches/branch2 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
33 svn ci -m 'branch2' |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
34 svn up |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
35 echo c > branches/branch2/c |
587
c06f59441f8e
editor: fix replaced directory copies
Patrick Mezard <pmezard@gmail.com>
parents:
582
diff
changeset
|
36 mkdir branches/branch2/dir |
c06f59441f8e
editor: fix replaced directory copies
Patrick Mezard <pmezard@gmail.com>
parents:
582
diff
changeset
|
37 echo e2 > branches/branch2/dir/e |
588
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
38 echo f2 > branches/branch2/f |
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
39 svn add branches/branch2/c branches/branch2/dir branches/branch2/f |
582
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
40 svn ci -m 'add c to branch2' |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
41 svn up |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
42 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
43 # Clobber branch1 with branch2 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
44 cd .. |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
45 cat > clobber.rsvn <<EOF |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
46 rdelete branches/branch1 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
47 rcopy branches/branch2 branches/branch1 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
48 rcopy branches/branch1/d branches/branch1/a |
587
c06f59441f8e
editor: fix replaced directory copies
Patrick Mezard <pmezard@gmail.com>
parents:
582
diff
changeset
|
49 rcopy branches/branch1/dir branches/branch1/dir |
c06f59441f8e
editor: fix replaced directory copies
Patrick Mezard <pmezard@gmail.com>
parents:
582
diff
changeset
|
50 rcopy branches/branch1/dir branches/branch1/dir2 |
588
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
51 rcopy branches/branch1/f branches/branch1/f |
2723152c8111
stupid: fix getcopies() logic
Patrick Mezard <pmezard@gmail.com>
parents:
587
diff
changeset
|
52 rcopy branches/branch1/g branches/branch1/g |
582
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
53 EOF |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
54 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
55 python $RSVN --message=blah --username=evil `pwd`/repo < clobber.rsvn |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
56 |
44c56a7727c4
editor: fix issamefile() and copy detection in replay mode
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
57 svnadmin dump repo > ../replace_branch_with_branch.svndump |