SVK
view release on metacpan or search on metacpan
t/bm/prop-multiproject.t view on Meta::CPAN
#!/usr/bin/perl -w
use strict;
use SVK::Test;
plan tests => 3;
our $output;
my ($xd, $svk) = build_test('test');
$svk->mkdir('-p', -m => 'trunk in project A', '/test/projectA/trunk');
$svk->mkdir(-m => 'branches in project A', '/test/projectA/branches');
$svk->mkdir(-m => 'tags in project A', '/test/projectA/tags');
$svk->mkdir('-p', -m => 'trunk in project B', '/test/projectB/trunk');
$svk->mkdir(-m => 'branches in project B', '/test/projectB/branches');
$svk->mkdir(-m => 'tags in project B', '/test/projectB/tags');
my $tree = create_basic_tree($xd, '/test/projectA/trunk');
my $depot = $xd->find_depot('test');
my $uri = uri($depot->repospath);
$svk->mirror('//mirror/twoProject', $uri);
$svk->sync('//mirror/twoProject');
$svk->cp(-m => 'branch Foo in projectA', '//mirror/twoProject/projectA/trunk',
'//mirror/twoProject/projectA/branches/Foo');
$svk->cp(-m => 'branch Bar in projectB', '//mirror/twoProject/projectB/trunk',
'//mirror/twoProject/projectB/branches/Bar');
my ($copath, $corpath) = get_copath('prop-multiproject');
# set prop for project A
my $proppath = { 'trunk' => '/mirror/twoProject/projectA/trunk',
'branches' => '/mirror/twoProject/projectA/branches',
'tags' => '/mirror/twoProject/projectA/tags',
'hooks' => '/mirror/twoProject/projectA/hooks',
};
$svk->propset('-m', "- projectA trunk path set", 'svk:project:projectA:path-trunk',
$proppath->{trunk}, "//");
$svk->propset('-m', "- projectA branches path set", 'svk:project:projectA:path-branches',
$proppath->{branches}, "//");
$svk->propset('-m', "- projectA tags path set", 'svk:project:projectA:path-tags',
$proppath->{tags}, "//");
is_output ($svk, 'propget', ['svk:project:projectA:path-trunk', '//'], [$proppath->{trunk}]);
$svk->checkout('//mirror/twoProject/projectB', $copath); # checkout project B
chdir($copath);
# in checkout of project B, list
is_output ($svk, 'branch', ['--list'], ['Bar']);
# try to list project branches via mirrored path
is_output ($svk, 'branch', ['--list','//mirror/twoProject/projectA'], ['Foo']);
( run in 0.600 second using v1.01-cache-2.11-cpan-71847e10f99 )