Retrospectiva uses Svn::Fs API to access a Subversion repository. So we can handle only local repository without svnsync.
Svn::Client API provides local/remote repository access with same API. If Retrospectiva uses Svn::Client API to access a Subversion repository, Retrospectiva can support local/remote repository with same code.
Uhm… Directory browse view is too slow for a remote repository because each sub node instantiation accesses a remote repository in the view.
Many, many thanks, this is very interesting, I’ll definitely look into that. Have you checked for memory leaks?
Dimitrij
Here are the results of memory tests in [#212] (with some modification):
Original:
Loaded suite test/other/memory_test
Started
[+] Started 'test_01_syncronization' (VIRT 237952 kB, RES 64152 kB, VDIFF 0 kB, RDIFF 0 kB)
[=] Finished after 102s (VIRT 245552 kB, RES 71948 kB, VDIFF 7600 kB, RDIFF 7796 kB)
.
[+] Started 'test_02_process_changed_nodes' (VIRT 245552 kB, RES 71952 kB, VDIFF 0 kB, RDIFF 4 kB)
Processing 10000 nodes
Status after 2000 nodes (VIRT 246900 kB, RES 73216 kB, VDIFF 1348 kB, RDIFF 1264 kB)
[=] Finished after 1s (VIRT 246900 kB, RES 73224 kB, VDIFF 0 kB, RDIFF 8 kB)
.
[+] Started 'test_03_changeset_browsing' (VIRT 246900 kB, RES 73240 kB, VDIFF 0 kB, RDIFF 16 kB)
Processing 400 changesets
Status after 200 changesets (VIRT 256320 kB, RES 80344 kB, VDIFF 9420 kB, RDIFF 7104 kB)
[=] Finished after 168s (VIRT 257192 kB, RES 81432 kB, VDIFF 872 kB, RDIFF 1088 kB)
.
[+] Started 'test_04_node_browsing' (VIRT 257192 kB, RES 81432 kB, VDIFF 0 kB, RDIFF 0 kB)
Browsing through revision 219
[=] Finished after 40s (VIRT 265892 kB, RES 88208 kB, VDIFF 8700 kB, RDIFF 6776 kB)
.
Finished in 313.295676 seconds.
4 tests, 550 assertions, 0 failures, 0 errors
Svn::Client:
Loaded suite test/other/memory_test
Started
[+] Started 'test_01_syncronization' (VIRT 237412 kB, RES 63832 kB, VDIFF 0 kB, RDIFF 0 kB)
[=] Finished after 40s (VIRT 247748 kB, RES 72184 kB, VDIFF 10336 kB, RDIFF 8352 kB)
.
[+] Started 'test_02_process_changed_nodes' (VIRT 247748 kB, RES 72188 kB, VDIFF 0 kB, RDIFF 4 kB)
Processing 10000 nodes
Status after 2000 nodes (VIRT 249348 kB, RES 73712 kB, VDIFF 1600 kB, RDIFF 1524 kB)
[=] Finished after 1s (VIRT 249348 kB, RES 73720 kB, VDIFF 0 kB, RDIFF 8 kB)
.
[+] Started 'test_03_changeset_browsing' (VIRT 249348 kB, RES 73736 kB, VDIFF 0 kB, RDIFF 16 kB)
Processing 400 changesets
Status after 200 changesets (VIRT 358588 kB, RES 184452 kB, VDIFF 109240 kB, RDIFF 110716 kB)
[=] Finished after 273s (VIRT 388788 kB, RES 214164 kB, VDIFF 30200 kB, RDIFF 29712 kB)
.
[+] Started 'test_04_node_browsing' (VIRT 388788 kB, RES 214164 kB, VDIFF 0 kB, RDIFF 0 kB)
Browsing through revision 219
[=] Finished after 51s (VIRT 389216 kB, RES 214312 kB, VDIFF 428 kB, RDIFF 148 kB)
.
Finished in 366.653881 seconds.
4 tests, 550 assertions, 0 failures, 0 errors