The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
#!/usr/bin/perl -w
use strict;
use Test::More;
use SVK::Test;
eval { require SVN::Mirror; 1 } or plan skip_all => 'require SVN::Mirror';
plan tests => 4;

my ($xd, $svk) = build_test('test');

our $output;

$svk->mkdir(-pm => 'init', '/test/foo/bar/proj/trunk');
$svk->mkdir(-pm => 'init', '/test/foo/bar/proj/branches');
my $tree = create_basic_tree ($xd, '/test/foo/bar/proj/trunk');

$svk->cp('-m' => 'branch', '/test/foo/bar/proj/trunk' => '/test/foo/bar/proj/branches/branchA');

my ($copath, $corpath) = get_copath();

$svk->mv(-m => 'move it', '/test/foo' => '/test/blah');

$svk->cp(-m => 'branch2', '/test/blah/bar/proj/trunk' => '/test/blah/bar/proj/branches/branchB');

$svk->mv(-m => 'move it', '/test/blah/bar/proj' => '/test/proj');

$svk->cp(-m => 'branch3', '/test/proj/trunk' => '/test/proj/branches/branchC');

my ($srepospath, $spath, $srepos) = $xd->find_repos ('/test/proj', 1);
my $uri = uri($srepospath.($spath eq '/' ? '' : $spath));


$svk->mi('//mirror/proj', $uri);

is_output($svk, 'sync', ['--follow-anchor-copy','//mirror/proj'],
          ["Syncing $uri",
           'Retrieving log information from 1 to 9',
           'Retrieving log information from 1 to 8',
           'Committed revision 2 from revision 1.',
           'Committed revision 3 from revision 2.',
           'Committed revision 4 from revision 3.',
           'Committed revision 5 from revision 4.',
           'Committed revision 6 from revision 5.',
           'Committed revision 7 from revision 7.',
           'Committed revision 8 from revision 9.']);

is_ancestor($svk, "//mirror/proj/branches/branchA", '/mirror/proj/trunk', 5);
is_ancestor($svk, "//mirror/proj/branches/branchB", '/mirror/proj/trunk', 5);
is_ancestor($svk, "//mirror/proj/branches/branchC", '/mirror/proj/trunk', 5);