#!usr/bin/perl -w use strict; use Test::More; use SVK::Test; plan_svm tests => 20; our ($output, $answer); # build another tree to be mirrored ourself my ($xd, $svk) = build_test('test'); $svk->mkdir (-m => 'trunk', '/test/trunk'); my $tree = create_basic_tree ($xd, '/test/trunk'); $svk->copy (-pm => 'local', '/test/trunk' => '/test/local'); $svk->copy (-pm => 'here', '/test/trunk' => '/test/branches/hate'); $svk->copy (-pm => 'here', '/test/trunk' => '/test/branches/hate2'); my ($srepospath, $spath, $srepos) =$xd->find_repos ('/test/trunk', 1); my $uri = uri($srepospath); is_output ($svk, 'sync', ['-a'], []); is_output ($svk, 'sync', ['-a', '//'], []); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a'], ["Starting to synchronize //m-hate", "Syncing $uri/branches/hate", "Retrieving log information from 1 to 6", "Committed revision 4 from revision 5.", "Starting to synchronize //m-main/local", "Syncing $uri/local", "Retrieving log information from 1 to 6", "Committed revision 5 from revision 4.", "Starting to synchronize //m-main/trunk", "Syncing $uri/trunk", "Retrieving log information from 1 to 6", "Committed revision 6 from revision 1.", "Committed revision 7 from revision 2.", "Committed revision 8 from revision 3."]); $svk->mirror ('--detach', '//m-main/trunk'); $svk->mirror ('--detach', '//m-main/local'); $svk->rm (-m => '', '//m-main'); $svk->mirror ('--detach', '//m-hate'); $svk->rm (-m => '', '//m-hate'); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a', '//'], ["Starting to synchronize //m-hate", "Syncing $uri/branches/hate", "Retrieving log information from 1 to 6", "Committed revision 17 from revision 5.", "Starting to synchronize //m-main/local", "Syncing $uri/local", "Retrieving log information from 1 to 6", "Committed revision 18 from revision 4.", "Starting to synchronize //m-main/trunk", "Syncing $uri/trunk", "Retrieving log information from 1 to 6", "Committed revision 19 from revision 1.", "Committed revision 20 from revision 2.", "Committed revision 21 from revision 3."]); $svk->mirror ('--detach', '//m-main/trunk'); $svk->mirror ('--detach', '//m-main/local'); $svk->rm (-m => '', '//m-main'); $svk->mirror ('--detach', '//m-hate'); $svk->rm (-m => '', '//m-hate'); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a', '//m-main'], ["Starting to synchronize //m-main/local", "Syncing $uri/local", "Retrieving log information from 1 to 6", "Committed revision 30 from revision 4.", "Starting to synchronize //m-main/trunk", "Syncing $uri/trunk", "Retrieving log information from 1 to 6", "Committed revision 31 from revision 1.", "Committed revision 32 from revision 2.", "Committed revision 33 from revision 3."]); $svk->mirror ('--detach', '//m-main/trunk'); $svk->mirror ('--detach', '//m-main/local'); $svk->rm (-m => '', '//m-main'); $svk->mirror ('--detach', '//m-hate'); $svk->rm (-m => '', '//m-hate'); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a', '//m-main/trunk'], ["Starting to synchronize //m-main/trunk", "Syncing $uri/trunk", "Retrieving log information from 1 to 6", "Committed revision 42 from revision 1.", "Committed revision 43 from revision 2.", "Committed revision 44 from revision 3."]); $svk->mirror ('--detach', '//m-main/trunk'); $svk->mirror ('--detach', '//m-main/local'); $svk->rm (-m => '', '//m-main'); $svk->mirror ('--detach', '//m-hate'); $svk->rm (-m => '', '//m-hate'); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a', '//m-invalid'], ["no mirrors found underneath //m-invalid"]); is_output ($svk, 'sync', ['-a', '/clkao/is/a/lazy/bugger/says/sky'], ["/clkao/is/a/lazy/bugger/says/sky does not contain a valid depotname"]); is_output ($svk, 'sync', ['-a', 'really_invalid'], ["really_invalid does not contain a valid depotname"]); $svk->mkdir (-m => 'trunk', '//trunk'); my ($srepospath2, $spath2, $srepos2) =$xd->find_repos ('//trunk', 1); my $uri2 = uri($srepospath2); is_output ($svk, 'sync', ['-a', 'test'], []); is_output ($svk, 'sync', ['-a', '/test'], []); is_output ($svk, 'sync', ['-a', '/test/'], []); TODO: { local $TODO = 'fixme'; is_output ($svk, 'sync', ['-a', 'test/m-default'], ["test/m-default does not contain a valid depotname"]); } is_output ($svk, 'sync', ['-a', '/test/m-default'], ["no mirrors found underneath /test/m-default"]); is_output ($svk, 'sync', ['-a', '/test/m-default/'], ["no mirrors found underneath /test/m-default/"]); $svk->mirror ('/test/m-default', $uri2.'/trunk'); is_output ($svk, 'sync', ['-a', 'test'], ["Starting to synchronize /test/m-default", "Syncing $uri2/trunk", "Retrieving log information from 1 to 53", "Committed revision 8 from revision 53."]); $svk->mirror ('--detach', '//test/m-default'); $svk->rm (-m => '', '/test/m-default'); $svk->mirror ('/test/m-default', $uri2.'/trunk'); is_output ($svk, 'sync', ['-a', '/test'], ["Starting to synchronize /test/m-default", "Syncing $uri2/trunk", "Retrieving log information from 1 to 53", "Committed revision 12 from revision 53."]); $svk->mirror ('--detach', '//test/m-default'); $svk->rm (-m => '', '/test/m-default'); $svk->mirror ('/test/m-default', $uri2.'/trunk'); is_output ($svk, 'sync', ['-a', '/test/'], ["Starting to synchronize /test/m-default", "Syncing $uri2/trunk", "Retrieving log information from 1 to 53", "Committed revision 16 from revision 53."]); $svk->mirror ('--detach', '//test/m-default'); $svk->rm (-m => '', '/test/m-default'); $svk->mirror ('/test/m-default', $uri2.'/trunk'); $svk->mirror ('--detach', '//m-main/trunk'); $svk->mirror ('--detach', '//m-main/local'); $svk->rm (-m => '', '//m-main'); $svk->mirror ('--detach', '//m-hate'); $svk->rm (-m => '', '//m-hate'); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a', 'test', '//'], ["Starting to synchronize /test/m-default", "Syncing $uri2/trunk", "Retrieving log information from 1 to 61", "Committed revision 20 from revision 53.", "Starting to synchronize //m-hate", "Syncing $uri/branches/hate", "Retrieving log information from 1 to 20", "Committed revision 62 from revision 5.", "Starting to synchronize //m-main/local", "Syncing $uri/local", "Retrieving log information from 1 to 20", "Committed revision 63 from revision 4.", "Starting to synchronize //m-main/trunk", "Syncing $uri/trunk", "Retrieving log information from 1 to 20", "Committed revision 64 from revision 1.", "Committed revision 65 from revision 2.", "Committed revision 66 from revision 3."]); $svk->mirror ('--detach', '//test/m-default'); $svk->rm (-m => '', '/test/m-default'); $svk->mirror ('/test/m-default', $uri2.'/trunk'); $svk->mirror ('--detach', '//m-main/trunk'); $svk->mirror ('--detach', '//m-main/local'); $svk->rm (-m => '', '//m-main'); $svk->mirror ('--detach', '//m-hate'); $svk->rm (-m => '', '//m-hate'); $svk->mirror ('//m-main/trunk', $uri.'/trunk'); $svk->mirror ('//m-main/local', $uri.'/local'); $svk->mirror ('//m-hate', $uri.'/branches/hate'); is_output ($svk, 'sync', ['-a'], ["Starting to synchronize //m-hate", "Syncing $uri/branches/hate", "Retrieving log information from 1 to 23", "Committed revision 75 from revision 5.", "Starting to synchronize //m-main/local", "Syncing $uri/local", "Retrieving log information from 1 to 23", "Committed revision 76 from revision 4.", "Starting to synchronize //m-main/trunk", "Syncing $uri/trunk", "Retrieving log information from 1 to 23", "Committed revision 77 from revision 1.", "Committed revision 78 from revision 2.", "Committed revision 79 from revision 3.", "Starting to synchronize /test/m-default", "Syncing $uri2/trunk", "Retrieving log information from 1 to 79", "Committed revision 24 from revision 53."]); 1;