Mercurial > hgsubversion
annotate tests/fixtures/pushrenames.sh @ 1023:7a262ecae4f3
svnwrap: use get_file instead of list_props during replay
This patch has an enormous effect on the time taken to import commits
which add many files. Specifically, it makes them much faster for
pulls over the network because it avoids creating a new connection to
subversion for every added file. In my testing, it dropped the time
taken to import a revision that adds ~6500 files from approximately 1
hour to 30 seconds. I believe this test is representative of
real-world performance improvements.
author | David Schleimer <dschleimer@fb.com> |
---|---|
date | Tue, 18 Jun 2013 17:47:37 -0700 |
parents | 49b7cbe4c8e3 |
children |
rev | line source |
---|---|
70
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
2 # |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
3 # Generate pushrenames.svndump |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
4 # |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
5 |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
6 mkdir temp |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
7 cd temp |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
8 |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
9 mkdir project-orig |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
10 cd project-orig |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
11 mkdir trunk |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
12 mkdir branches |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
13 cd .. |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
14 |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
15 svnadmin create testrepo |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
16 svnurl=file://`pwd`/testrepo |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
17 svn import project-orig $svnurl -m "init project" |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
18 |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
19 svn co $svnurl project |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
20 cd project/trunk |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
21 echo a > a |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
22 echo b > b |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
23 echo c > c |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
24 echo d > d |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
25 echo e > e |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
26 svn add a b c d e |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
27 svn ci -m "add files" |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
28 cd ../.. |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
29 |
49b7cbe4c8e3
push_cmd: handle copies at file level
Patrick Mezard <pmezard@gmail.com>
parents:
diff
changeset
|
30 svnadmin dump testrepo > ../pushrenames.svndump |